Date

Date

{{ date }}

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
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.

{{ date_field }}

Should be used to display a date field inside a form.

Name Type Description
is_valid Boolean Will always be true
type String Will always be "date"
default_value time Optional. The default value to use for this date field when the form is displayed. Will be null if there is no default value
map_to_attribute String If the user is signed into a profile when they submit this form and map_to_attribute is set, the profile attribute specified in map_to_attribute will be set to the value of this field. This should also be used to override the default value if the user is signed into a profile and the specified attribute has already been set
required Boolean Will be true if the user is required to enter a date before submitting the form
required_message String The message to display when the user attempts to submit the form without entering a date
validators validators The list of validators that should be used to validate this date field, if applicable
element_id String A helper property containing a unique ID for this field on this instance of this form. This value should be different every time the form is output
subtext text Help or hint text to display together with the field
condition condition The condition that should be used to show and hide this form field
classname String CSS class name(s) to be applied to the field
field_id String The identifier for this field
label String The label for this field
output String Default HTML markup for this date field, which makes a number of assumptions about other elements on the page that may or may not be included. Developers should avoid using the default output in order to guarantee that forms work as expected, including styling, validation, conditionals, and more. May include additional markup in the editor preview to make it easier to edit content

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 %}).