Depende del formato en el que desea que se muestre la fecha.
Formato de fecha estática
Si desea mostrar un formato estático, que es el mismo para todas las configuraciones regionales (por ejemplo, ISO 8601 para un feed Atom), debe usar el date
filtro Twig :
{{ game.gameDate|date('Y-m-d\\TH:i:sP') }}
Que siempre devolverá una fecha y hora en el siguiente formato:
2014-05-02T08: 55: 41Z
Las cadenas de formato aceptadas por el date
filtro son las mismas que usaría para la date()
función de PHP . (la única diferencia es que, hasta donde yo sé, no se pueden usar las constantes predefinidas que se pueden usar en la date()
función PHP )
Fechas localizadas (y horas)
Sin embargo, dado que desea representarlo en el navegador, es probable que desee mostrarlo en un formato legible por humanos, localizado para el idioma y la ubicación del usuario. En lugar de hacer la localización usted mismo, puede usar la extensión Intl para esto (que hace uso de IntlDateFormatter de PHP ). Proporciona un filtro localizeddate
que generará la fecha y la hora utilizando un formato localizado.
localizeddate( date_format, time_format [, locale ] )
Argumentos a favor de localizeddate
:
date_format
: Una de las cadenas de formato (ver más abajo)
time_format
: Una de las cadenas de formato (ver más abajo)
locale
: (opcional) Use esto para anular la configuración regional configurada. Deje este argumento fuera para usar la configuración regional predeterminada, que se puede configurar en la configuración de Symfony.
(hay más, ver los documentos para lista completa de posibles argumentos)
Para date_format
y time_format
puede usar una de las siguientes cadenas:
'none'
si no quieres incluir este elemento
'short'
para el estilo más abreviado (12/13/52 o 3:30 pm en inglés)
'medium'
para el estilo medio (12 de enero de 1952 en un idioma inglés)
'long'
para el estilo largo (12 de enero de 1952 o 3:30:32 pm en una configuración regional en inglés)
'full'
para el estilo completamente especificado (martes 12 de abril de 1952 d. C. o 3:30:42 p. m. PST en una configuración regional en inglés)
Ejemplo
Entonces, por ejemplo, si desea mostrar la fecha en un formato equivalente a February 6, 2014 at 10:52 AM
, use la siguiente línea en su plantilla Twig:
{{ game.gameDate|localizeddate('long', 'short') }}
Sin embargo, si usa una configuración regional diferente, el resultado se localizará para esa configuración regional:
6 februari 2014 10:52
para el nl
local;
6 février 2014 10:52
para el fr
local;
6. Februar 2014 10:52
para el de
local; etc.
Como puedes ver, localizeddate
no solo traduce los nombres de los meses, sino que también usa las anotaciones locales. La notación inglesa pone la fecha después del mes, donde las anotaciones holandesas, francesas y alemanas la colocan antes del mes. Los nombres de mes en inglés y alemán comienzan con una letra mayúscula, mientras que los nombres de mes en holandés y francés están en minúscula. Y las fechas alemanas tienen un punto adjunto.
Instalación / configuración del entorno local
Las instrucciones de instalación para la extensión Intl se pueden encontrar en esta respuesta separada .
{{ game.gameDate|date('Y-m-d H:i:s') }}
para fecha y hora. Tuve problemas para encontrar el personaje por minutos.