69 lines
1.9 KiB
ReStructuredText
69 lines
1.9 KiB
ReStructuredText
``format_datetime``
|
|
===================
|
|
|
|
.. versionadded:: 2.12
|
|
The ``format_datetime`` filter was added in Twig 2.12.
|
|
|
|
The ``format_datetime`` filter formats a date time:
|
|
|
|
public function formatDateTime(Environment $env, $date, ?string $dateFormat = 'medium', ?string $timeFormat = 'medium', string $pattern = '', $timezone = null, string $calendar = 'gregorian', string $locale = null): string
|
|
|
|
.. code-block:: twig
|
|
|
|
{# Aug 7, 2019, 11:39:12 PM #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime() }}
|
|
|
|
You can tweak the output for the date part and the time part:
|
|
|
|
.. code-block:: twig
|
|
|
|
{# 23:39 #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime('none', 'short', locale='fr') }}
|
|
|
|
{# 07/08/2019 #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime('short', 'none', locale='fr') }}
|
|
|
|
{# mercredi 7 août 2019 23:39:12 UTC #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime('full', 'full', locale='fr') }}
|
|
|
|
Supported values are: ``none``, ``short``, ``medium``, ``long``, and ``full``.
|
|
|
|
For greater flexiblity, you can even define your own pattern:
|
|
|
|
.. code-block:: twig
|
|
|
|
{# 11 oclock PM, GMT #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime(pattern="hh 'oclock' a, zzzz") }}
|
|
|
|
By default, the filter uses the current locale. You can pass it explicitly:
|
|
|
|
.. code-block:: twig
|
|
|
|
{# 7 août 2019 23:39:12 #}
|
|
{{ '2019-08-07 23:39:12'|format_datetime(locale='fr') }}
|
|
|
|
.. note::
|
|
|
|
The ``format_datetime`` filter is part of the ``IntlExtension`` which is not
|
|
installed by default. Install it first:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ composer req twig/intl-extra
|
|
|
|
Then, use the ``twig/extra-bundle`` on Symfony projects or add the extension
|
|
explictly on the Twig environment::
|
|
|
|
use Twig\Extra\Intl\IntlExtension;
|
|
|
|
$twig = new \Twig\Environment(...);
|
|
$twig->addExtension(new IntlExtension());
|
|
|
|
Arguments
|
|
---------
|
|
|
|
* ``locale``: The locale
|
|
* ``dateFormat``: The date format
|
|
* ``timeFormat``: The time format
|
|
* ``pattern``: A date time pattern
|