En esta parte tratamos todas las funciones PHP que permiten manipular las fechas. Normalmente las fechas se recuperan en un formato con un idioma concreto, y esto le obliga a convertirlas a su idioma.
- La función time() devuelve la hora actual, que se mide en segundos desde el inicio de UNIX (1 de Enero de 1970 00:00:00 GMT). Esta hora también se llama timestamp UNIX.
Por ejemplo:
<?php
echo time();
?>
Da como resultado:
1381329777
Por tanto, su sintaxis es:
time()
Esta función se utiliza sobre todo para realizar cálculos con fechas, por ejemplo para encontrar la duración de procesamiento en la base de datos.
- La función date() devuelve la fecha en el formato que se ha pasado como argumento.
Por ejemplo:
<?php
echo date(’d.m.y’);
?>
Da como resultado:
09.10.13
Por tanto, su sintaxis es:
$fecha_del_dia = fecha($formato)
siendo $formato una cadena que contiene las letras que permiten definir el formato.
A continuación mostramos una lista con los principales formatos que se utilizan en la función date. Esta lista no es exhaustiva y puede encontrar más información en el siguiente enlace: http://www.php.net/manual/es/function.date.php
Día
J
Día del mes con dos dígitos sin ningún cero inicial: de 1 a 31.
d
Día del mes con dos dígitos con un cero inicial en la función del día: de 01 a 31.
l
(L minúscula) Día de la semana en inglés: de Sunday a Saturday.
w
Día de la semana con un formato numérico de 0 (domingo) a 6 (sábado).
z
Día del año: de 0 a 366.
Semana
W
Número de la semana en el año (las semanas empiezan el lunes). Ejemplo: 42 (la 42.ª semana del año).
Mes
F
Mes, textual, versión amplia en inglés, como por ejemplo January o December.
m
Mes en formato numérico, con ceros iniciales: de 01 a 12.
n
Mes sin ceros iniciales: de 1 a 12.
t
Número de días en el mes: de 28 a 31.
Año
L
Año bisiesto: 1 si es bisiesto, 0 si no lo es.
Y
Año con cuatro dígitos (por ejemplo, 1999 y 2003).
y
Año con dos dígitos (por ejemplo, 99 y 03).
Hora
a
Ante merídiem y Post merídiem (minúsculas): am o pm.
A
Ante merídiem y Post merídiem (mayúsculas): AM o PM.
g
Hora (formato 12 h) sin ceros iniciales: de 1 a 12.
G
Hora (formato 24 h) sin los ceros iniciales: de 0 a 23.
h
Hora (formato 12 h) con ceros iniciales: de 01 a 12.
H
Hora (formato 24 h) con ceros iniciales: de 00 a 23.
s
Segundos con ceros iniciales: de 00 a 59.
i
Minutos con ceros iniciales: de 00 a 59.
Esta función date() puede tomar también como parámetro opcional el timestamp UNIX para definir otra fecha distinta a la fecha del día que quiere mostrar.
Por ejemplo:
<?php
$ProximaSemana = time() + (7 * 24 * 60 * 60);// Añadir una semana a
//la hora actual. O 7 días = 7x24 horas = 7x24x60 minutos =
//7x24x60x60 segundos
echo "Hoy: ".fecha(’d-m-Y’).", ";
echo "Próxima semana: ".fecha(’d-m-Y’, $Proximasemana)."\n";
?>
Da como resultado:
Hoy: 01-02-2013, Próxima semana: 08-02-2013
- La función mktime() devuelve el timestamp UNIX desde una fecha que se pasa como parámetro.
Por ejemplo:
<?php
echo mktime(0,0,0,2,1,2012); //muestra el timestamp de 01/02/2012
?>
Da como resultado:
1328050800
Su sintaxis es:
$timestamp = mktime($hora,$minuto,$segundo,$mes,$día,$año)
Esta función corrige los datos no válidos automáticamente. Por ejemplo, 32 de Enero se corregirá como 1 de Febrero.
- La función microtime() devuelve el timestamp UNIX en microsegundos. Como parámetro opcional utiliza un booleano, que permite devolver un número real si es verdadero, o una cadena de caracteres si no lo es.
Por ejemplo:
<?php
// Muestra en forma de cadena.
echo microtime(). ’<br />’;
// Muestra en forma de real.
echo microtime(TRUE). ’<br />’;
// Para mostrar los microsegundos únicamente,transformación (cast)
// de la cadena en modo real.
echo (float) microtime() .’<br />’;
?>
Da como resultado:
0.31211200 1328104356
1328104356.3121
0.3121
Por tanto, su sintaxis es:
$microsegundo = microtime($bool)
- La función getdate() devuelve una tabla asociativa de la fecha y la hora actuales.
Por ejemplo:
<?php
print_r(getdate());
?>
Da como resultado:
Array ( [seconds] => 37 [minutes] => 48 [hours] => 10 [mday] => 15 [wday] => 3 [mon] => 6 [year] => 2011 [yday] => 165 [weekday] => Wednesday [month] => June [0] => 1308127717 )
Por tanto, su sintaxis es:
$tabla = getdate()
- La función checkdate() indica si una fecha es válida o no. Esta función tiene en cuenta los años bisiestos. Toma como parámetros el mes, el día y el año, y devuelve verdadero o falso.
Por ejemplo:
<?php
$valido = checkdate(13, 10, 2011);
if($valido == true )
{
echo ’La fecha es válida’;
}
else
{
echo ’La fecha no es válida’;
}
?>
Da como resultado:
La fecha no es válida
De hecho, no existe el decimotercer mes.
Por tanto, su sintaxis es:
$valido = checkdate($mes,$día,$año)
Espero haber ayudado en algo. Hasta la próxima oportunidad!
Twittear
No hay comentarios:
Publicar un comentario