Spec-Zone.ru › Twig 1

date

Новое в версии 1.1: Поддержка часовых поясов добавлена в Twig 1.1.

Новое в версии 1.5: Поддержка формата даты по умолчанию добавлена в Twig 1.5.

Новое в версии 1.6.1: Поддержка часового пояса по умолчанию добавлена в Twig 1.6.1.

Новое в версии 1.11.0: Введен ложный параметр для часового пояса в Twig 1.11.0

Фильтр date форматирует дату в соответствии с заданным форматом:

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

Спецификатор формата такой же, как поддерживается функцией date, за исключением случаев, когда отфильтрованные данные имеют тип DateInterval, в этом случае формат должен соответствовать DateInterval::format.

Фильтр date принимает строки (они должны быть в формате, поддерживаемом функцией strtotime), экземпляры DateTime или экземпляры DateInterval. Например, чтобы отобразить текущую дату, отфильтруйте слово «now»:

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

Чтобы экранировать слова и символы в формате даты, используйте \\ перед каждым символом:

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

Если значение, переданное фильтру date, является null, оно вернет текущую дату по умолчанию. Если вместо текущей даты требуется пустая строка, используйте оператор тернарного условия:

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

Если формат не указан, Twig использует формат по умолчанию: F j, Y H:i. Этот параметр по умолчанию можно изменить, вызвав метод setDateFormat() на экземпляре расширения core. Первый аргумент — это формат даты по умолчанию, а второй — формат интервалов дат по умолчанию:

$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');

Часовой пояс

По умолчанию дата отображается с применением часового пояса по умолчанию (указанного в php.ini или объявленного в Twig — см. ниже), но вы можете переопределить его, явно указав часовой пояс:

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

Если дата уже является объектом DateTime и вы хотите сохранить его текущий часовой пояс, передайте false в качестве значения часового пояса:

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

Часовой пояс по умолчанию также можно установить глобально, вызвав setTimezone():

$twig = new \Twig\Environment($loader);
$twig->getExtension('\Twig\Extension\CoreExtension')->setTimezone('Europe/Paris');

// before Twig 1.26
$twig->getExtension('core')->setTimezone('Europe/Paris');

Аргументы

  • format: Формат даты
  • timezone: Часовой пояс даты
« convert_encoding | date_modify »

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/1.x/filters/date.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API