|
Tiempo y fecha
En esta lección vamos a ver como algunas funciones relacionadas con el
tiempo y la fecha, así como algunos ejemplos prácticos.
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 funció date devuelve una cadena formateada según los
código de formato. Si no le pasamos la variable timestamp nos devuelve la
cadena formateada para la fecha y la hora actual.
Los códigos de formato para la función date son:
| CODIGO |
DESCRIPCIÓN |
| a |
am o pm |
| A |
AM o PM |
| d |
Día del mes con ceros |
| D |
Abreviatura del día de la semana (inglés) |
| F |
Nombre del mes (inglés) |
| h |
Hora en formato 1-12 |
| H |
Hora en formato 0-23 |
| i |
Minutos |
| j |
Día del mes sin ceros |
| l |
Dia de la semana |
| m |
Número de mes (1-12) |
| M |
Abreviatura del mes (inglés) |
| s |
Segundos |
| y |
Año con 2 dígitos |
| Y |
Año con 4 dígitos |
| 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) = 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 función chekdate comprueba si una fecha es válida, si es así
devuelve TRUE y si no lo es FALSE. Una fecha se considera válida si el
año está entre 1900 y 32767, el mes entre 1 y 12, y el dia es menor o
igual que número de días total del mes en cuestión.
<?PHP
if (checkdate(31, 2, 2000)) {
echo "La fecha es
correcta";
} else {
echo "La fecha es
incorrecta";
}
?>
Para el ejemplo anterior nos daría que la fecha es incorrecta, febrero
nunca tiene un día 31.
|