Por defecto, estas funciones mostrarán o devolverán la fecha y la hora en el formato que esté establecido en Administración > Ajustes > Generales. Este es el lugar en el que la personalización de la fecha y la hora afectará a toda la instalación de WordPress.
Formato de fecha y hora
En la captura de pantalla, observa la cadena de caracteres que aparece junto a cada formato de fecha y hora. Esta cadena se denomina cadena de formato. Cada letra representa una parte específica de la fecha u hora.
Por ejemplo, la cadena de formato:
l, F j, Y
crea una fecha que se ve así (fíjate que las comas se leen literalmente):
Lunes, Diciembre 23, 2019
Esto es lo que representa cada carácter de formato en la cadena anterior:
l = Nombre completo del día de la semana (letra «L» minúscula).
F = Nombre completo del mes.
j = El día del mes.
Y = El año con 4 dígitos (la letra «Y» minúscula devuelve los dos últimos dígitos del año).
Los caracteres de formato están estandarizados y son usados globalmente en el lenguaje de programación PHP. Como WordPress está escrito en el lenguaje de programación PHP, puedes usar la tabla de caracteres de formato de fecha y hora directamente desde la web de PHP.
Aquí tienes una tabla con algunos de los elementos más útiles que se encuentran allí:
Día del mes
d Numérico, con ceros iniciales 01–31
j Numérico, sin ceros iniciales 1–31
S El sufijo inglés para el día del mes st, nd, rd o th, para 1st, 2nd, 3rd o 15th
Día de la semana
l Nombre completo (letra «L» minúscula) Domingo – Sábado
D Las tres primeras letras del nombre Lun – Dom
Mes
m Numérico, con ceros iniciales 01–12
n Numérico, sin ceros iniciales 1–12
F Nombre completo Enero – Diciembre
M Las tres primeras letras del nombre Ene – Dic
Año
Y Numérico, 4 dígitos Ej.: 1999, 2019
y Numérico, 2 dígitos Ej.: 99, 19
Hora
a Minúscula am, pm
A Mayúscula AM, PM
g Hora, 12 horas, sin ceros iniciales 1–12
h Hora, 12 horas, con ceros iniciales 01–12
G Hora, 24 horas, sin ceros iniciales 0-23
H Hora, 24 horas, con ceros iniciales 00-23
i Minutos, con ceros iniciales 00-59
s Segundos, con ceros iniciales 00-59
T Abreviatura de la zona horaria Ej.: EST, MDT…
Fecha y hora completa
c ISO 8601 2019-12-23T19:57:21+00:00
r RFC 2822 Lun, 23 Dic 2019 19:57:21 +0100
U Marca de tiempo Unix (segundos desde la época Unix) 1577127441
Arriba ↑
Ejemplos de cadenas de formato
Aquí puedes ver algunos ejemplos de formato de fecha con el resultado de salida.
F j, Y g:i a – Diciembre 3, 2019 12:50 am
F j, Y – Diciembre 3, 2019
F, Y – Diciembre, 2019
g:i a – 12:50 am
g:i:s a – 12:50:48 am
l, F j, Y – Martes, Diciembre 3, 2019
M j, Y @ G:i – Dic 3, 2019 @ 0:50
Y/m/d \a \l\a\s g:i A – 2019/12/03 a las 12:50 AM
Y/m/d \a \l\a\s g:ia – 2019/12/03 a las 12:50am
Y/m/d g:i:s A – 2019/12/03 12:50:48 AM
Y/m/d – 2019/12/03
Arriba ↑
Anulación del formato de los ajustes generales
Las funciones para la fecha y la hora aceptan la cadena de formato como un parámetro para anular el formato de fecha y hora por defecto en ciertos lugares de los archivos de los temas o plugins. Al igual que en los ajustes generales, esta cadena de formato es una plantilla de caracteres en la que cada carácter representa una parte específica de la fecha o la hora.
Dentro del archivo de la plantilla, configurar la cadena de formato de la fecha y la hora como un parámetro para la etiqueta de la plantilla the_time(), sería algo parecido a esto:
Publicado el <?php the_time( 'l, j \d\e F \d\e Y' ); ?>.
Que se mostrará en la portada de tu sitio del siguiente modo:
Publicado el Lunes, 23 de diciembre de 2019.
Arriba ↑
Idioma
Para adaptar el idioma de la fecha y la hora, usa la función date_i18n(). La función date_i18n() se comporta, básicamente, como la función date() de PHP, excepto que también traduce al idioma actual del sitio cosas como los nombres de los meses, los días de la semana y similares. Puedes reemplazar una llamada a date() con una llamada a date_i18n(), usando los mismos argumentos.
$date = date_i18n( 'F j, Y' );
$time = date_i18n( 'g:i a' );
Como alternativa, puedes envolver tu formato predefinido en __() o en _e() para permitir que los traductores ajusten la fecha y la hora al formato de idioma adecuado. Si lo haces, entonces también deberías incluir un comentario para el traductor, de forma que los traductores sepan a qué formato de fecha te estás refiriendo y dónde se usa, para que puedan convertirlo con precisión.
__( 'Y/m/d g:i:s a', 'textdomain' );
Arriba ↑
Escape
Algunas letras no tienen un formato asociado en la función de fecha de PHP. Por ejemplo, una x pasada en la cadena de formato devolverá actualmente una x literalmente. Sin embargo, esto puede cambiar en algún momento en el futuro y la x puede tener un formato asociado a ella.
Esto es por lo que siempre debes escapar con una \ los caracteres literales en una cadena de formato de fecha, En el siguiente ejemplo, fíjate que se ha escapado cada letra de la palabra de.
date_i18n( __( 'l, j \d\e F \d\e Y', 'textdomain' ) );
Este ejemplo se mostrará en la portada de tu sitio del siguiente modo:
Lunes, 23 de diciembre de 2019