PHP strftime(): Formateo local de fecha y hora

Repaso a la función de PHP strftime() para el formateo local de fechas y horas. La información local se puede establacer en el script con la función setlocale().

Otras funciones para trabajar con fechas son:

Sintaxis de PHP strftime()

Vamos a ver la sintaxis de esta función extraída de su web oficial:

strftime(formato, timestamp);

Os explico los parámetros:

  • formato (Obligaorio): Especifica el formato de dato devuelto.
  • timestamp (Opcional): Especifica la fecha/hora con formato Unix a formatear. Por defecto si se omite es la hora local actual con formato Unix.

Tipos de formato

Listado de los diferentes formatos que se pueden aplicar en esta función de fecha:

DÍA

  • %a: Representación abreviada el día. De ‘dom’ a ‘sáb’.
  • %A: Respresentación completa del día. De ‘domingo’ a ‘sábado’.
  • %d: Día del mes incluyendo ceros iniciales. De ’01’ a ’31’.
  • %e: Día del mes sin ceros iniciales. De ‘1’ a ’31’.
  • %j: Día del año con ceros iniciales. De ‘001’ a ‘366’.
  • %u: Día de la semana ISO-8601. De ‘1’ a ‘7’.
  • %w: Día de la semana. De ‘0’ a ‘6’.

SEMANA

  • %U: Número de la semana, comenzando la primera semana en el primer domingo.
  • %V: Número de la semana ISO-8601, la primera semana debe contener al menos 4 días y el lunes como primer día. De ’01’ a ’53’.
  • %W: Representación numérica de la semana del año, comenzando con el primer domingo como la primera semana.

MES

  • %b: Nombre del mes abreviado. De ‘ene’ a ‘dic’.
  • %B: Nombre del mes completo. De ‘enero’ a diciembre’.
  • %h: Igual que %b.
  • %m: Representación numérica del mes con ceros iniciales. De ’01’ a ’12’.

AÑO

  • %C: Representación del número de siglo. Año dividido entre 100 cogiendo la parte entera.
  • %G: Representación numérica del año en 4 dígitos formato ISO-8601. Por ejemplo ‘2015’
  • %g: Representación numérica del año en 2 dígitos formato ISO-8601. Por ejemplo ’15’ para ‘2015’.
  • %Y: Representación numérica del año en 4 dígitos. Por ejemplo ‘2015’.
  • %y: Representación numérica del año en 2 dígitos. Por ejemplo ’15’ para 2015.

HORA

  • %H: Representación numérica de la hora en 2 dígitos con formato 24h. De ’00’ a ’23’.
  • %I: Representación numérica de la hora en 2 dígitos con formato 12h. De ’01’ a ’12’.
  • %M: Representación numérica de los minutos en 2 dígitos. De ’00’ to ’59’.
  • %P: Representación de ‘AM’ o ‘PM’ dependiendo la hora dada. Por ejemplo ‘AM’ para las 00:51.
  • %p: Representación de ‘am’ o ‘pm’ dependiendo la hora dada. Por ejemplo ‘am’ para las 00:51.
  • %S: Representación numérica de los segundos en 2 dígitos. De ’00’ to ’59’.

Ejemplos de PHP strftime() para obtener la fecha y hora en tu idioma local

He preparado este ejemplo de PHP strftime() para ver un par de ejemplos prácticos:

//Establecer la información local en castellano de España
setlocale(LC_TIME,"es_ES");
  
echo strftime("Hoy es %A y son las %H:%M");
echo strftime("El año es %Y y el mes es %B");

Explico el código:

  • Establecemos la información local con setlocale(). Establecemos la información española.
  • En la siguiente línea mostramos la info correspondiente al día, hora y minutos.
  • En la última línea mostramos el año y mes.
compartir
Publicado por
Aner Barrena