Русскоязычная документация по Twig - PHP шаблонизатору. Руководство по Твиг на русском языке
Фильтр date формирует дату в заданом формате
{{ post.published_at|date("m/d/Y") }}
Описание формата даты такой же, как в PHP функции date, за исключением случаев когда фильтруемы данные имеют форматDateInterval, тогда формат описание даты соответствует DateInterval::format
Фильтр date принимает строку (она должена быть в формате, поддерживаемом функцией strtotime), экземпляр класса DateTimeили DateInterval. Например, чтобы отобразить текущую дату, примените фильтр к слову "now":
{{ "now"|date("m/d/Y") }}
Чтобы экранировать слова и символы в дате, используйте \ перед каждым символом
{{ post.published_at|date("F jS at g:ia") }}
Если значение передаваемое в фильтр date является null, по умолчанию будет возвращена текущая дата. Если необходимо вернуть пустую строку вместо текущей даты, используйте тернарный оператор:
{{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }}
Если передаваемый формат даты не предусмотрен, Twig будет использовать F j, Y H:i. Это значение может быть изменено путем вызова метода setDateFormat() экземпляра расширейний для ядра. Первый аргумент устанавливает формат дат по умолчанию, второй формат для интервалов дат:
$twig = new Twig_Environment($loader);
$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) }}
Часовой пояс по умолчанию также может быть установлен глобально:
$twig = new Twig_Environment($loader);
$twig->getExtension('core')->setTimezone('Europe/Paris');
{{ "now"|date(fromat, timezon) }}
format: Формат даты
timezone: формат часового пояса