Trabajar con fechas y horas con PHP

0 COMENTARIOS -  Publicado hace 40 meses -  Clasificado en: ,

Para obtener la fecha y la hora del sistema, tan sólo es necesario llamar a la función "time()" de PHP.

echo time();

Lo que ocurre es que obtendremos una salida en pantalla similar a esto: 1162286916. Lo que, la verdad, no es de gran ayuda. Para obtener una fecha y hora comprensibles deberemos recurrir a la función date(). Cuando la llamamos pasándole un único parámetro (una cadena), la función nos devuelve una cadena con la hora/fecha actuales cuyo formato depende de la cadena que le hemos pasado, como veremos más adelante.

echo date('l, F jS, Y, g:i A');
Devuelve:
Tuesday, October 31st, 2006, 10:30 AM

El segundo parámetro, opcional, es una fecha/hora.

Caracteres admitidos en la función date Descripción
F Nombre completo del mes (January, February,...)
M Abreviación de tres letras del mes (Jan, Feb,...)
m Representación numérica del mes, con cero si es menor de 10. (Siempre dos dígitos)
n Representación numérca del mes, sin ceros.
d Día del mes, con cero si es menor de 10. (Siempre dos dígitos)
j Día del mes, sin ceros.
S Sufijo ordinal de dos caracteres para el día del mes (st,nd,th)
l Nombre completo del día de la semana (Monday, Tuesday,...)
D Abreviatura de tres letras del dia de la semana (Mon,Tue,...)
w Representación numérica del día de la semana (0=Sunday, 6=Saturday)
y Dos dígitos del año
Y Cuatro dígitos del año
h Hora en formato de 12 horas, con cero si es menor de 10. (Siempre dos dígitos)
g Hora en formato de 12 horas, sin cero si es menor de 10.
H

Hora en formato de 24 horas, con cero si es menor de 10. (Siempre dos dígitos)

G Hora en formato de 24 horas, sin cero si es menor de 10.
a am/pm (minúsculas)
A AM/PM (mayúsculas)
O Cadena que representa la diferencia en horas entre la hora local y GMT/UTC, por ejemplo, +0100
i Minutos, con cero si es menor de 10. (Siempre dos dígitos)
j Minutos, sin cero si es menor de 10.
s Segundos, con cero si es menor de 10. (Siempre dos dígitos)
Z Entero representando la diferencia en segundos entre la hora local y GMT/UTC.
c ISO-8601 formato (YYYY-MM-DDTHH:MM:SS±HHMM, por ejemplo,
2005-03-14T19:38:08+10:00)
r RFC-2822 formato (WWW, DD MMM YYYY HH:MM:SS ±HHMM, por ejemplo, Mon, 14 Mar 2005 19:38:08 +1000).
U Segundos desde la "Unix epoch"

Por ejemplo:

$tiempo = time();
$formatos = array(
             'U',
             'r',
             'c',
             'l, F jS, Y, g:i A',
             'H:i:s D d M y',
             'm/j/y g:i:s O (T)'
);
foreach($formatos as $formato)
echo "

$formato: " . date($formato, $tiempo) . "\n";

Daría como salida:

U: 1162289032
r: Tue, 31 Oct 2006 11:03:52 +0100
c: 2006-10-31T11:03:52+01:00
l, F jS, Y, g:i A: Tuesday, October 31st, 2006, 11:03 AM
H:i:s D d M y: 11:03:52 Tue 31 Oct 06
m/j/y g:i:s O (T): 10/31/06 11:03:52 +0100 (Hora estandar romance)

Algunas entradas relacionadas:

También te puede interesar:

Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com