Formato de fecha y hora

Personalizar el formato de fecha y hora

WordPress utiliza ciertas funciones de etiqueta para mostrar o devolver información de la fecha y la hora; the_date() y the_time() son ejemplos de esto.

Por defecto, estas funciones mostrarán o devolverán la fecha y la hora en el formato establecido en Escritorio > Ajustes > Generales. Este es el lugar donde se personaliza el formato para la fecha y la hora que afectará a toda tu instalación de WordPress.

Formato de fecha y hora

Observa la cadena de caracteres junto a cada formato de fecha y hora en la captura de pantalla. Esta cadena se llama cadena de formato. Cada letra representa una parte específica de la fecha o la hora.

Por ejemplo, la cadena de formato:

l, F j, Y

crea una fecha similar a esta (ten en cuenta que las comas se leen literalmente):

Domingo, Diciembre 22, 2019

Esto es lo que representa cada caracter de formato en la cadena de arriba:

  • l = El nombre completo del día de la semana (L en minúscula).
  • F = El nombre completo del mes.
  • j = El día del mes.
  • Y = El año en 4 dígitos. (la «y» en minúscula muestra los 2 últimos dígitos del año)

Los caracteres del formato están estandarizados y se usan globalmente en el lenguaje de programación PHP. Como WordPress está escrito en PHP puedes usar la tabla de caracteres de formato de fecha y hora directamente desde la web de PHP.

Aquí hay una tabla de algunos de los elementos más útiles que se encuentran allí:

Día del mes
d Numérico, con ceros a la izquierda 01–31
j Numérico, sin ceros a la izquierda 1–31
S El sufijo en inglés para el día del mes st, nd o th en 1st, 2nd o 15th.
Día de la semana
l Nombre completo  («L» en minúscula) Domingo – Sábado
D Primeras tres letras Lun – Dom
Mes
m Numérico, con ceros a la izquierda 01–12
n Numérico, sin ceros a la izquierda 1–12
F Nombre completo Enero – Diciembre
M Primeras tres letras Ene – Dic
Año
Y Numérico, 4 dígitos Ej., 1999, 2003
y Numérico, 2 dígitos Ej., 99, 03
Hora
a En minúsculas am, pm
A En mayúsculas AM, PM
g Hora, 12 horas, sin ceros a la izquierda 1–12
h Hora, 12 horas, con ceros a la izquierda 01–12
G Hora, 24 horas, sin ceros a la izquierda 0-23
H Hora, 24 horas, con ceros a la izquierda 00-23
i Minutos, con ceros a la izquierda 00-59
s Segundos, con ceros a la izquierda 00-59
T Abreviación de la zona horaria Ej., EST, MDT …
Fecha y hora completa
c ISO 8601 2004-02-12T15:19:21+00:00
r RFC 2822 Jue, 21 Dic 2000 16:01:07 +0200
U Tiempo Unix (segundos desde la época de Unix) 1455880176

Arriba ↑

Ejemplos de cadenas de formato

Aquí tienes algunos ejemplos de formato de fecha con la salida del resultado.

  • F j, Y g:i a – Noviembre 6, 2010 12:50 am
  • F j, Y – Noviembre 6, 2010
  • F, Y – Noviembre , 2010
  • g:i a – 12:50 am
  • g:i:s a – 12:50:48 am
  • l, F jS, Y – Sábado, Noviembre 6th, 2010
  • M j, Y @ G:i – Nov 6, 2010 @ 0:50
  • Y/m/d \a \l\a\s g:i A – 2010/11/06 a las 12:50 AM
  • Y/m/d \a \l\a\s g:ia – 2010/11/06 a las 12:50am
  • Y/m/d g:i:s A – 2010/11/06 12:50:48 AM
  • Y/m/d – 2010/11/06

Arriba ↑

Anulando el formato de los ajustes generales

Las funciones para fecha y hora aceptan cadenas de formato como un parámetro para anular los ajustes por defecto de fecha y hora en ciertos lugares en los archivos del tema o plugin. Del mismo modo que en los Ajustes generales, esta cadena de formato es una plantilla de caracteres donde cada caracter representa una parte específica de la fecha o la hora.

Dentro del archivo de la plantilla, al establecer la cadena de formato de fecha y hora como un parámetro para la etiqueta de plantilla the_time(), se vería así:

Publicado el <?php the_time( 'l, j \d\e F \d\e Y' ); ?>.

Que se mostrará en la vista pública de tu sitio de la siguiente manera:

Publicado el Viernes, 24 de septiembre de 2004.

Arriba ↑

Localización

Para localizar la fecha y la hora, usa la función date_i18n(). La función date_i18n() básicamente se comporta como la función date() de PHP, excepto que esta también traduce cosas como los nombres de los meses, los días de la semana y similares en el idioma actual del sitio. Puedes reemplazar las llamadas a date() con date_i18n(), usando los mismos argumentos.

$date = date_i18n( 'F j, Y' );
$time = date_i18n( 'g:i a' );

De forma alternativa, puedes envolver tu formato predefinido en __() o _e() para permitirle a los traductores ajustar la fecha y la hora al formato local apropiado. Si lo haces, también debes incluir un comentario de traductor para que los traductores sepan a qué formato de fecha se refiere y dónde se usa, para que puedan convertirlo con precisión.

__( 'Y/m/d g:i:s a', 'textdomain' );

Arriba ↑

Escapando

Algunas letras no tienen un formato asociado en la función date() de PHP. Por ejemplo, una x incluída en la cadena de formato actualmente devolverá una x literal. Sin embargo, esto puede cambiar en algún momento en el futuro y entonces x podría tener un formato sociado.

Es por esto que siempre debes escapar caracteres literales en una cadena con formato de fecha usando \. Ten en cuenta que, en el ejemplo a continuación, cada letra de la palabra de se escapa.

date_i18n( __( 'l, j \d\e F \d\e Y', 'textdomain' ) );

Este ejemplo se mostrará en la vista pública de tu sitio de la siguiente manera:

Sábado, 25 de Febrero de 2017