Trabajar con fechas y horas con PHP

0 - , - 08/11/2006 14:25:29

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)

Deja tu comentario

  • El comentario debe estar relacionado con el contenido de la entrada.
  • Comentarios ofensivos, con spam o con lenguaje inapropiado serán eliminados.

captcha