Blog

Jueves, 29 Septiembre 2022 19:34

Formato de fecha y hora en wordpress

Escrito por 

Para mostrar o devolver la información de la fecha y la hora, se usan ciertas etiquetas de funciones de WordPress; 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 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

Leer 687 times

Sobre CNERIS

CNERIS es una empresa constituida por jóvenes emprendedores procedentes de diferentes sectores del mundo de la información. Nuestro equipo está compuesto por programadores, administradores de sistemas, administradores de base de datos, diseñadores gráficos, maquetadores,