PHP » Fechas y horas en PHP

PHP

Veremos como utilizar funciones para determinar y usar las fechas y horas a nuestro favor con el lenguaje PHP.

La función por excelencia de las horas y fechas es date().

Función date()

La funcióne date()que se utiliza de la siguiente forma:

$fecha = date('d M Y');

Donde los carácteres incluidos dentro de las comillas de la función date() son reemplazados si existe un equivalente para dicho carácter. En la siguiente tabla [ver completa en PHP.net], se muestran las equivalencias de cada letra para utilizarlas dentro de esta función.

 

Caracter Descripción
d Día del mes con ceros
j Dia del mes sin ceros
D Día de la semana textual en inglés (3 letras)
m Mes numérico con ceros
n Mes numérico sin ceros
F Mes textual en inglés completo
M Mes textual en inglés (3 letras)
Y Año con 4 dígitos
y Año con 2 dígitos
a Ante o post meridiano en minúscula
A Ante o post meridiano en mayúscula
g Hora (formato 12 horas sin ceros)
G Hora (formato 24 horas sin ceros)
h Hora (formato 12 horas con ceros)
H Hora (formato 24 horas con ceros)
i Minutos con ceros
s Segundos con ceros
u Microsegundos

Más en función date() de PHP.net.

Veremos un simple ejemplo con caracteres que aparecen en la tabla superior. Recordemos que solo los que aparecen en la tabla oficial de PHP.net son los que se reemplazan en la sintaxis de date().

Ejemplo PHP:

 <?php

$hoy = date('d M Y, H:i:s a');
echo "Hoy es: ".$hoy;

?>

Resultado PHP:

Hoy es: 19 Jul 2010, 12:01:46 pm

Caracteres como la coma, los espacios y dos puntos no son reemplazados por PHP.

Función time()

La función time() muestra los segundos que han transcurrido desde el primero de enero de 1970 (00:00 GMT). Con ella podemos calcular diferentes cosas, por ejemplo, cuantos segundos han transcurrido entre ayer y hoy, o menor aún, cuantas horas entre el mismo intervalo siempre y cuando le restemos o hagamos algún cálculo con el dato de time().

Ejemplo PHP:

<?php

$una_semana = 60 * 60 * 24 * 7 ;
// 60 segundos * 60 minutos * 24 horas * 7 días nos da los segundos transurridos
durante una semana.

$un_dia = 60 * 60 * 24 ;
// 60 segundos * 60 minutos * 24 horas nos da los segundos transurridos durante un día.

$la_semana_pasada = time() - $una_semana;
$la_semana_antepasada = time() - ($una_semana * 2);
$la_semana_siguiente = time() + $una_semana;
$en_ocho_dias = time() + $una_semana + $un_dia;
$en_diez_dias = time() + ($un_dia * 10);

// así podemos calcular diferentes tiempos en segundos

?>

Ahora, podemos utilizar nuestra función date() junto a time() para obtener fechas, de la siguiente forma:

echo date('d M Y',$en_diez_dias)."<br />";
echo date('d M Y',$la_semana_antepasada);

Resultado PHP:

29 Jul 2010
05 Jul 2010

Artículo relacionado:

Función PHP para calcular hace cuanto pasó aquello.

Diego Escares

Publicado el 19 de Julio del 2010 por Diego Escares

1045 visitas, 1 mensaje y 1 edición

Mensajes

angel angel hace 2 semanas: 0

Sácame de una duda en el momento que te escribí;
mi pc tenia las 11:56 y es 23 de enero 2012 pero me devuelve el siguiente resultado; ¿por qué

Hoy es: 24 Jan 2012, 04:56:04 am

¡Amigo! te demorarás 10 segundos en crear tu cuenta.

Disfrutarás de todos los beneficios de DocumentoWeb.

Twitter Twitter Facebook Facebook Feed RSS Feed RSS

www.DocumentoWeb.com Licencia Creative Commons