Cela dépend du format dans lequel vous souhaitez afficher la date.
Format de date statique
Si vous souhaitez afficher un format statique, qui est le même pour tous les paramètres régionaux (par exemple ISO 8601 pour un flux Atom), vous devez utiliser le date
filtre de Twig :
{{ game.gameDate|date('Y-m-d\\TH:i:sP') }}
Qui retournera toujours un datetime au format suivant:
2014-05-02T08: 55: 41Z
Les chaînes de format acceptées par le date
filtre sont les mêmes que celles que vous utiliseriez pour la date()
fonction PHP . (la seule différence est que, pour autant que je sache, vous ne pouvez pas utiliser les constantes prédéfinies qui peuvent être utilisées dans la date()
fonction PHP )
Dates (et heures) localisées
Cependant, puisque vous souhaitez le rendre dans le navigateur, vous voudrez probablement l'afficher dans un format lisible par l'homme, localisé pour la langue et l'emplacement de l'utilisateur. Au lieu de faire la localisation vous-même, vous pouvez utiliser l' extension Intl pour cela (qui utilise IntlDateFormatter de PHP ). Il fournit un filtre localizeddate
qui affichera la date et l'heure en utilisant un format localisé.
localizeddate( date_format, time_format [, locale ] )
Arguments pour localizeddate
:
date_format
: L'une des chaînes de format (voir ci-dessous)
time_format
: L'une des chaînes de format (voir ci-dessous)
locale
: (facultatif) Utilisez ceci pour remplacer les paramètres régionaux configurés. Laissez cet argument en dehors pour utiliser les paramètres régionaux par défaut, qui peuvent être configurés dans la configuration de Symfony.
(il y en a plus, voir la documentation pour la liste complète des arguments possibles)
Pour date_format
et time_format
vous pouvez utiliser l'une des chaînes suivantes:
'none'
si vous ne voulez pas inclure cet élément
'short'
pour le style le plus abrégé (13/12/52 ou 15h30 dans une langue anglaise)
'medium'
pour le style moyen (12 janvier 1952 dans une langue anglaise)
'long'
pour le style long (12 janvier 1952 ou 15h30:32 dans une langue anglaise)
'full'
pour le style complètement spécifié (mardi 12 avril 1952 AD ou 15h30:42 PST dans une langue anglaise)
Exemple
Ainsi, par exemple, si vous souhaitez afficher la date dans un format équivalent à February 6, 2014 at 10:52 AM
, utilisez la ligne suivante dans votre modèle Twig:
{{ game.gameDate|localizeddate('long', 'short') }}
Cependant, si vous utilisez un environnement local différent, le résultat sera localisé pour cet environnement local:
6 februari 2014 10:52
pour les nl
paramètres régionaux;
6 février 2014 10:52
pour les fr
paramètres régionaux;
6. Februar 2014 10:52
pour les de
paramètres régionaux; etc.
Comme vous pouvez le voir, localizeddate
ne traduit pas seulement les noms de mois mais utilise également les notations locales. La notation anglaise place la date après le mois, tandis que les notations néerlandaise, française et allemande la mettent avant le mois. Les noms de mois anglais et allemand commencent par une lettre majuscule, tandis que les noms de mois néerlandais et français sont en minuscules. Et les dates allemandes ont un point ajouté.
Installation / configuration des paramètres régionaux
Les instructions d'installation de l'extension Intl se trouvent dans cette réponse séparée .
{{ game.gameDate|date('Y-m-d H:i:s') }}
pour la date et l'heure. J'ai eu des problèmes pour trouver du personnage pendant quelques minutes.