Datetime

Datetime

{{ datetime }}

A field containing a user-selected date

Name Type Description
is_valid Boolean True if the value is not empty
value String Unformatted date string (in UTC)
date time An object containing more detailed information about the selected date and time
default_value String The default value for this field if no value is specified
field_id String The identifier for this field
label String The label for this field
output String The value formatted using the "Short date pattern" (MM/dd/yyyy). May include additional markup in the editor preview to make it easier to edit content

Field used to store a date. All dates are stored in UTC time.

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

You can use the date filter either to create a date object or to format a date as a string.

Many ways to use the date filter

Copy
{% set_timezone 'UTC' %}

create a date object

{{ "2009-09-09" | date }}
{{ "2009-09-09" | date: "D" }}
{{ 0 | date: "D" }}
{{ 1756239994 | date: "D" }}

Defaults to the current date

{{"now" | date}}

format a date as a string

{{request.date | date: "d"}}
{{request.date | date: "D"}}
{{request.date | date: "o"}}
{{request.date | date: "MMMM dd, yyyy"}}

Entity Date Opened with Date Filter

Copy
{% if entity.date_opened.is_valid %}

Date Opened: {{ entity.date_opened | date: "MMMM dd, yyyy" }}

{% endif %}

Assign date add month and fetch calendar_entries

Copy
{% assign minDate = "now" | midnight %} {% assign maxDate = minDate | add_months: 1 %} {% calendar_entries output_to_template start_date:minDate end_date:maxDate limit:30 sort_by:"start_date" sort_direction:"asc" %}

Var date assignment and date math

Copy
{% var minDate = "now" | midnight %} {% var maxDate = "now" | midnight | add_months: 1 %} {% calendar_entry_collection output_to_template start_date:minDate end_date:maxDate limit:30 sort_by:"start_date" sort_direction:"asc" %}

Format dates using standard or custom .NET date formats.

Format Dates

Copy
{{request.date | format: "d"}}
{{request.date | format: "D"}}
{{request.date | format: "o"}}
{{request.date | format: "MMMM dd, yyyy"}}

Time advanced

Copy
{% var meridian = 'am' %} {% var hours = article.post_date.date.hour %} {% if hours > 12 %} {% set hours = hours | minus: 12 %} {% set meridian = 'pm' %} {% endif %} The year was {{ article.post_date.date.year }}. It had been {{article.post_date.date.day_of_year}} days, or {{ article.post_date.date.month }} months and {{ article.post_date.date.day }} days past the new year. The day was a {{ article.post_date.date.day_of_week }} and the time was {{ hours }}:{{ article.post_date.date.minute }}{{ meridian }}, but that didn't matter.

To timezone filter

Copy
{{ article.post_date | to_timezone: session.user_timezone }}

date filter

Returns the input as a date. If format is specified, converts the date to a string before returning it using the given format. The format must be a valid standard or custom .NET date format.

date: String format

Examples

You can use the date filter either to create a date object or to format a date as a string.

Many ways to use the date filter

Copy
{% set_timezone 'UTC' %}

create a date object

{{ "2009-09-09" | date }}
{{ "2009-09-09" | date: "D" }}
{{ 0 | date: "D" }}
{{ 1756239994 | date: "D" }}

Defaults to the current date

{{"now" | date}}

format a date as a string

{{request.date | date: "d"}}
{{request.date | date: "D"}}
{{request.date | date: "o"}}
{{request.date | date: "MMMM dd, yyyy"}}

time_diff filter

If format is unspecified, returns a time_diff object describing the difference between the current date and the other date. If format is specified, converts the time difference to a string before returning it using the given format. If supplied, the format must be a valid standard or custom.NET TimeSpan format.

time_diff: time otherString format

Examples

Format time diffs using standard or custom.NET TimeSpan formats.

Format Time Diffs

Copy
{% var diff = request.date | add_days: 3 | time_diff: request.date %}
{{ diff | format: "g" }}
{{ diff | format: "dd 'days'" }}

Time diff

Copy
{% var diff = request.date | time_diff: calendarEntry.start_date %} {% var is_future = true %} {% if diff.total_seconds < 0 %} {% set is_future = false %} {% endif %} This event {% if is_future %}will start in{% else %}started{% endif %} {% if diff.days > 0 %}{{diff.days }} days{% endif %} {% if diff.hours > 0 %}{{diff.hours }} hours{% endif %} {% if diff.minutes > 0 %}{{diff.minutes }} minutes{% endif %} {% if diff.hours == 0 and diff.seconds > 0 %}{{diff.seconds }} seconds{% endif %} {% unless is_future %}ago{% endunless %}

timezone filter

Returns the timezone that the date is in. If full is true or if an abbreviated timezone name is not available, returns the full timezone identifier (eg: "Europe/Rome"). If full is false (default) or not specified and an abbreviated timezone name is available returns the abbreviated timezone name (eg: "PST" or "PDT").

timezone: Boolean full

Examples

Use the timezone filter to output the timezone used by a date object. The output may either be the full timezone identifier or the shortened timezone abbreviation.

Using the timezone filter

Copy
{{request.date | timezone}}
{{request.date | add_months: 6 | timezone}}
{{request.date | timezone: true}}

to_timezone filter

Converts a date to the specified timezone.

to_timezone: String timezone

Examples

Use the to_timezone filter to convert a date to a specific timezone.

Using the to_timezone filter

Copy
{{request.date | to_timezone: 'UTC'}} {{request.date | to_timezone: 'Europe/Rome'}}

add_minutes filter

Return a date object operand minutes in the future from the input date.

add_minutes: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_years filter

Return a date object operand years in the future from the input date.

add_years: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_months filter

Return a date object operand months in the future from the input date.

add_months: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_weeks filter

Return a date object operand weeks in the future from the input date.

add_weeks: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_hours filter

Return a date object operand hours in the future from the input date.

add_hours: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_days filter

Return a date object operand days in the future from the input date.

add_days: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}

add_seconds filter

Return a date object operand seconds in the future from the input date.

add_seconds: Integer operand

Examples

Use the add_seconds, add_minutes, add_hours, add_days, add_weeks, add_months, and add_years filters to manipulate dates.

Use math to manipulate dates

Copy
{% var startdate = '2009-09-09T00:00:00Z' | to_timezone: 'UTC' %}

add_seconds

{{ startdate | add_seconds: 3 }}
{{ startdate | add_seconds: -10239 }}

add_minutes

{{ startdate | add_minutes: 3 }}
{{ startdate | add_minutes: -180 }}

add_hours

{{ startdate | add_hours: 3 }}
{{ startdate | add_hours: -32 }}

add_days

{{ startdate | add_days: 3 }}
{{ startdate | add_days: -2 }}

add_weeks

{{ startdate | add_weeks: 3 }}
{{ startdate | add_weeks: -7 }}

add_months

{{ startdate | add_months: 3 }}
{{ startdate | add_months: -10 }}

add_years

{{ startdate | add_years: 3 }}
{{ startdate | add_years: -1 }}
is_date
Returns true if the subject is a date object. If the operand is true, will check if the object is a string that can be safely converted to true or false (eg: {% if subject is_date true %}).