Formateo de fechas con symfony

symfony.jpg
Solucionex
18
Dic 10

En Symfony disponemos del helper DateHelper, este helper implementa la función format_datatime que nos permite formatear fechas y horas en prácticamente cualquier formato que necesitamos.

Lo mejor para ver lo que puede hacer esta función es un ejemplo. Imaginemos que tenemos una fecha obtenida de base de datos en la variable $fecha, con el formato “2010-12-17 21:35:00” y queremos mostrarla de la siguiente forma “Viernes 17 de Diciembre de 2010 21:35″.

En la plantilla donde vamos a mostrar la fecha formateada incluimos el helper DateHelper:

En el lugar donde queremos poner la fecha, utilizamos la funcion format_datetime de la siguiente forma:

El primer parámetro es la cadena con la fecha original que queremos transformar, el segundo parámetro es el código del formato al que queremos transformar la cadena $fecha y el tercer parámetro en el idioma en que queremos realizar la operación. Los dos últimos parámetros no son obligatorios, si no se especifican se utilizaran los definidos por defecto en la configuración de Symfony.

A continuación os dejo la lista de códigos de formatos que acepta la función:

  • 'd' : Fecha corta
  • 'D' : Fecha larga
  • 'p' : Fecha largo medio
  • 'P' : Fecha completa
  • 't' : Hora corta
  • 'T' : Hora larga
  • 'q' : Hora largo medio
  • 'Q' : Hora completa
  • 'f' : Fecha larga + Hora corta
  • 'F' : Fecha larga + Hora larga
  • 'G' : Fecha corta + Hora larga
  • 'g' : Fecha corta + Hora corta
  • 'i' : yyyy-MM-dd
  • 'I' : yyy-MM-dd HH:mm:ss
  • 'm' ó 'M' : MMMM dd
  • 'r' ó 'R' : EEE, dd MMM yyyy HH:mm:ss
  • 's' : yyyy-MM-ddTHH:mm:ss
  • 'u' : yyyy-MM-dd HH:mm:ss z
  • 'U' : EEEE dd MMMM yyyy HH:mm:ss
  • 'y' ó 'Y' : yyyy MMMM