Using date and time in templates
Formatting and comparison on dates and times
Template utilities
datefmt
datefmtFormat a date/time to output a specific format.
Example
Output
{{ timestamp|datefmt('long') }}
January 1, 2024
{{ timestamp|datefmt('Y') }}
2024
More examples of the formats available can be found here: http://babel.pocoo.org/en/latest/dates.html#date-fields
timefmt
timefmtFormat a time to output a specific format.
{{ timevalue|timefmt('short') }}
3:23 PM
{{ timestamp|timefmt('a') }}
PM
More examples of the formats available can be found here: https://babel.pocoo.org/en/latest/dates.html#time-fields
now
nowThis is quick access to the current date and time
<p>The current date is: {{ now|datefmt('MMMM d') }}</p>Output
<p>The current date is: January 1</p>day_name
day_nameOutput the name of the day using the "0 index" of the day of the week.
{{ 3|day_name }}Output
Wednesdayto_date
to_dateUtility to parse a date from a string
{{ '2021-09-01'|to_date }}Optionally, you can also pass a format to the parsing
{{ '9/1/2021'|to_date(format='%m/%d/%y') }}to_datetime
to_datetimeUtility to parse a date and time from a string
{{ '2021-09-01 15:23:00'|to_datetime }}to_time
to_timeUtility to parse a time from a string
{{ '15:23'|to_time }}Optionally, you can also pass a format to the parsing
{{ '1523'|to_time(format='%H%M') }}from_timestamp
from_timestampCan be used to convert unix timestamps (i.e. an integer) into date/time to be used by other functions.
{{ 1284101485|from_timestamp|datefmt('long') }}Output
September 9, 2010Hide content based on date
Using the advanced jinja2 templating to hide a piece of content depending on the date. This can be used to have something show up before/after/during a date range.
This uses our to_date jinja filter. Take note of the greater than and less than operators.
The to_date is parsed as the first minute and hour of the day so using greater and less than operators is the best way to write the conditionals.
Today, future, or past comparisons
is_today
is_todayShow something if the date is today
{% if '2018-12-11'|to_date|is_today %}
<p>I will show if Dec 12, 2018 is today</p>
{% endif %}is_future
is_futureShow something if the date is in the future
{% if '2018-12-11'|to_date|is_future %}
<p>I will show if Dec 12, 2018 is in the future</p>
{% endif %}is_past
is_pastShow something if the date is in the past
{% if '2018-12-11'|to_date|is_past %}
<p>I will show if Dec 12, 2018 is in the past</p>
{% endif %}Combining the above filters
Show something if the date is today or in the future
{% if '2018-12-11'|to_date|is_today or '2018-12-11'|to_date|is_future %}
<p>I will show if Dec 12, 2018 is today or is in the future</p>
{% endif %}Using now to compare to the current day and time
The now is the current date and time
Starting on a date
{% if now > '2018-12-11'|to_date %}
<p>I will start showing on Dec 11, 2018</p>
{% endif %}Up to a date
{% if now < '2018-12-11'|to_date %}
<p>I will stop showing on Dec 11, 2018</p>
{% endif %}Date range
{% if now > '2018-12-01'|to_date and now < '2019-01-01'|to_date %}
<p>I will show for the whole month of December</p>
{% endif %}Last updated
Was this helpful?