Debates
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.
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 |
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 amF j, Y
– Noviembre 6, 2010F, Y
– Noviembre , 2010g:i a
– 12:50 amg:i:s a
– 12:50:48 aml, F jS, Y
– Sábado, Noviembre 6th, 2010M j, Y @ G:i
– Nov 6, 2010 @ 0:50Y/m/d \a \l\a\s g:i A
– 2010/11/06 a las 12:50 AMY/m/d \a \l\a\s g:ia
– 2010/11/06 a las 12:50amY/m/d g:i:s A
– 2010/11/06 12:50:48 AMY/m/d
– 2010/11/06
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.
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' );
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
Comentarios recientes