En esta leccion vamos a ver como algunas funciones relacionadas con el
tiempo y la fecha, asi como algunos ejemplos practicos.
time
Devuelve el numero de segundos transcurridos desde el 1 de Enero de
1970. A esta forma de expresar fecha y hora se le denomina tmestamp.
date(formato, timestamp)
La funcion date devuelve una cadena formateada segun los
codigos de formato. Si no le pasamos la variable timestamp nos devuelve la
cadena formateada para la fecha y la hora actual.
Los codigos de formato para la funcion date son:
CODIGO |
DESCRIPCION |
a |
am o pm |
A |
AM o PM |
d |
Dia del mes con ceros |
D |
Abreviatura del dia de la semana (ingles) |
F |
Nombre del mes (ingles) |
h |
Hora en formato 1-12 |
H |
Hora en formato 0-23 |
i |
Minutos |
j |
Dia del mes sin ceros |
l |
Dia de la semana |
m |
Numero de mes (1-12) |
M |
Abreviatura del mes (ingles) |
s |
Segundos |
y |
Año con 2 digitos |
Y |
Año con 4 digitos |
z |
Dia del año (1-365) |
Para ver algunos ejemplos supongamos que ahora es el 7 de abril de 2000
a las 14 horas 30 minutos y 22 segundos:
-
date("d-m-Y") -> 07-04-2000
-
date("H:i:s") -> 14:30:22
-
date("Y")
-> 2000
-
date("YmdHis") -> 20000407143022
-
date("d/m/y H:i a") -> 07/04/00 14:30
pm
-
date(d-m-Y H:i, time()) -> el momento actual
mktime(hora, min, seg, mes, dia, año)
La funcion mktime devuelve una variable de tipo timestamp a partir de
las coordenadas dadas. La principal utilidad de esta funcion es la de
añadir o quitar una determinada cantidad de fecha u horas a una dada.
<?PHP
function restarDias($numdias, $date) {
if (isset($date)) {
$date = time();
}
list($hora, $min, $seg, $dia,
$mes, $anno) = explodest($hora, $min, $seg, $dia,
$mes, $anno) = explode( " ", date( "H i s d m Y"));
$d = $dia - $numdias;
$fecha = date("d-m-Y",
mktime($hora, $min, $seg, $mes, $d, $anno));
return $fecha;
}
echo restarDias(5)."<BR>";
echo restarDias(10)."<BR>";
?>
chekdate (mes, dia, año)
La funcion chekdate comprueba si una fecha es valida, si es asi
devuelve TRUE y si no lo es FALSE. Una fecha se considera valida si el
año esta entre 1900 y 32767, el mes entre 1 y 12, y el dia es menor o
igual que numero de dias total del mes en cuestion.
<?PHP
if (checkdate(31, 2, 2000)) {
echo "La fecha es
correcta";
} else {
echo "La fecha es
incorrecta";
}
?>
Para el ejemplo anterior nos daria que la fecha es incorrecta, febrero
nunca tiene un dia 31.
|