``date`` ======== .. versionadded:: 1.1 The timezone support has been added in Twig 1.1. .. versionadded:: 1.5 The default date format support has been added in Twig 1.5. .. versionadded:: 1.6.1 The default timezone support has been added in Twig 1.6.1. .. versionadded:: 1.11.0 The introduction of the false value for the timezone was introduced in Twig 1.11.0 The ``date`` filter formats a date to a given format: .. code-block:: twig {{ post.published_at|date("m/d/Y") }} The format specifier is the same as supported by `date`_, except when the filtered data is of type `DateInterval`_, when the format must conform to `DateInterval::format`_ instead. 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": .. code-block:: twig {{ "now"|date("m/d/Y") }} To escape words and characters in the date format use ``\\`` in front of each character: .. code-block:: twig {{ post.published_at|date("F jS \\a\\t g:ia") }} 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: .. code-block:: twig {{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }} If no format is provided, Twig will use the default one: ``F j, Y H:i``. This default can be 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: .. code-block:: php $twig = new \Twig\Environment($loader); $twig->getExtension('\Twig\Extension\CoreExtension')->setDateFormat('d/m/Y', '%d days'); // before Twig 1.26 $twig->getExtension('core')->setDateFormat('d/m/Y', '%d days'); Timezone -------- By default, the date is displayed by applying the default timezone (the one specified in php.ini or declared in Twig -- see below), but you can override it by explicitly specifying a timezone: .. code-block:: twig {{ post.published_at|date("m/d/Y", "Europe/Paris") }} If the date is already a DateTime object, and if you want to keep its current timezone, pass ``false`` as the timezone value: .. code-block:: twig {{ post.published_at|date("m/d/Y", false) }} The default timezone can also be set globally by calling ``setTimezone()``: .. code-block:: php $twig = new \Twig\Environment($loader); $twig->getExtension('\Twig\Extension\CoreExtension')->setTimezone('Europe/Paris'); // before Twig 1.26 $twig->getExtension('core')->setTimezone('Europe/Paris'); Arguments --------- * ``format``: The date format * ``timezone``: The date timezone .. _`strtotime`: https://secure.php.net/strtotime .. _`DateTime`: https://secure.php.net/DateTime .. _`DateInterval`: https://secure.php.net/DateInterval .. _`date`: https://secure.php.net/date .. _`DateInterval::format`: https://secure.php.net/DateInterval.format
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
abs.rst | File | 254 B | 0644 |
|
batch.rst | File | 1.11 KB | 0644 |
|
capitalize.rst | File | 232 B | 0644 |
|
column.rst | File | 555 B | 0644 |
|
convert_encoding.rst | File | 776 B | 0644 |
|
country_name.rst | File | 936 B | 0644 |
|
currency_name.rst | File | 995 B | 0644 |
|
currency_symbol.rst | File | 989 B | 0644 |
|
data_uri.rst | File | 1.3 KB | 0644 |
|
date.rst | File | 3.09 KB | 0644 |
|
date_modify.rst | File | 629 B | 0644 |
|
default.rst | File | 856 B | 0644 |
|
escape.rst | File | 3.75 KB | 0644 |
|
filter.rst | File | 1.24 KB | 0644 |
|
first.rst | File | 527 B | 0644 |
|
format.rst | File | 395 B | 0644 |
|
format_currency.rst | File | 1.75 KB | 0644 |
|
format_date.rst | File | 821 B | 0644 |
|
format_datetime.rst | File | 1.95 KB | 0644 |
|
format_number.rst | File | 2.6 KB | 0644 |
|
format_time.rst | File | 821 B | 0644 |
|
html_to_markdown.rst | File | 1.77 KB | 0644 |
|
index.rst | File | 446 B | 0644 |
|
inky_to_html.rst | File | 987 B | 0644 |
|
inline_css.rst | File | 1.62 KB | 0644 |
|
join.rst | File | 787 B | 0644 |
|
json_encode.rst | File | 655 B | 0644 |
|
keys.rst | File | 218 B | 0644 |
|
language_name.rst | File | 1003 B | 0644 |
|
last.rst | File | 519 B | 0644 |
|
length.rst | File | 723 B | 0644 |
|
locale_name.rst | File | 985 B | 0644 |
|
lower.rst | File | 151 B | 0644 |
|
map.rst | File | 891 B | 0644 |
|
markdown_to_html.rst | File | 1.67 KB | 0644 |
|
merge.rst | File | 1.34 KB | 0644 |
|
nl2br.rst | File | 428 B | 0644 |
|
number_format.rst | File | 1.59 KB | 0644 |
|
raw.rst | File | 1.25 KB | 0644 |
|
reduce.rst | File | 822 B | 0644 |
|
replace.rst | File | 608 B | 0644 |
|
reverse.rst | File | 1.04 KB | 0644 |
|
round.rst | File | 860 B | 0644 |
|
slice.rst | File | 2.17 KB | 0644 |
|
sort.rst | File | 351 B | 0644 |
|
spaceless.rst | File | 1.81 KB | 0644 |
|
split.rst | File | 1.39 KB | 0644 |
|
striptags.rst | File | 600 B | 0644 |
|
timezone_name.rst | File | 1.08 KB | 0644 |
|
title.rst | File | 254 B | 0644 |
|
trim.rst | File | 1.02 KB | 0644 |
|
u.rst | File | 1.61 KB | 0644 |
|
upper.rst | File | 151 B | 0644 |
|
url_encode.rst | File | 1.08 KB | 0644 |
|