Skip to content

Latest commit

 

History

History
65 lines (40 loc) · 1.97 KB

date.rst

File metadata and controls

65 lines (40 loc) · 1.97 KB

date

1.1 The timezone support has been added in Twig 1.1.

1.5 The default date format support has been added in Twig 1.5.

1.6.1 The default timezone support has been added in Twig 1.6.1.

The date filter formats a date to a given format:

{{ post.published_at|date("m/d/Y") }}

The date filter accepts strings (it must be in a format supported by the strtotime function), DateTime instances, or DateInterval instances. For instance, to display the current date, filter the word "now":

{{ "now"|date("m/d/Y") }}

To escape words and characters in the date format use \\ in front of each character:

{{ post.published_at|date("F jS \\a\\t g:ia") }}

You can also specify a timezone:

{{ post.published_at|date("m/d/Y", "Europe/Paris") }}

If no format is provided, Twig will use the default one: F j, Y H:i. This default can be easily changed by calling the setDateFormat() method on the core extension instance. The first argument is the default format for dates and the second one is the default format for date intervals:

$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setDateFormat('d/m/Y', '%d days');

The default timezone can also be set globally by calling setTimezone():

$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setTimezone('Europe/Paris');

If the value passed to the date filter is null, it will return the current date by default. If an empty string is desired instead of the current date, use a ternary operator:

{{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }}