Funciones de fecha y hora en PHP
Función date
La función date muestra la fecha y hora actuales
en el formato especificado. El formato se define mediante
comandos de control (letras inglesas),
y se pueden insertar cualquier separador
entre ellos (guiones, dos puntos, etc.).
Estos son los comandos:
U– número de segundos transcurridos desde el1de enero de1970(es decir,timestamp).z– número del día desde el inicio del año.Y– año,4dígitos.y- año, dos dígitos.m– número del mes (con cero al principio).n– número del mes sin cero al principio.d– número del día en el mes, siempre dos dígitos (la primera puede ser cero).j– número del día en el mes sin cero precedente.w– día de la semana (0- domingo,1- lunes, etc.).h– horas en formato de12horas.H– horas en formato de24horas.i– minutos.s– segundos.L–1, si es año bisiesto,0, si no es bisiesto.W– número de semana del año.t– número de días en el mes especificado.
Ejemplos de uso con date
<?php
// Todos los ejemplos se muestran para la fecha 01.06.2013 a las 12.23.59, lunes
echo date('Y'); // devuelve '2013'
echo date('y'); // devuelve '13'
echo date('m'); // devuelve '06' - número del mes
echo date('d'); // devuelve '01' - número del día en el mes
echo date('j'); // devuelve '1' - número del día en el mes (sin cero al principio)
echo date('w'); // devuelve '1' - lunes
echo date('H'); // devuelve '12' - horas
echo date('i'); // devuelve '23' - minutos
echo date('s'); // devuelve '59' - segundos
echo date('d-m-Y'); // devuelve '01-06-2013'
echo date('d.m.Y'); // devuelve '01.06.2013'
echo date('H:i:s d.m.Y'); // devuelve '12:23:59 01.06.2013'
?>
Función time
La función time devuelve la diferencia en
segundos entre el 1 de enero de 1970
y el momento actual. Esta representación
de la fecha se llama formato timestamp. Usando
la función time solo podemos obtener el momento
actual. Para obtener el timestamp
de cualquier fecha se debe usar la función
mktime. Vea el ejemplo:
<?php
echo mktime(12, 43, 59, 1, 31, 2017);
?>
Función mktime
La función mktime devuelve el timestamp
para un momento de tiempo especificado. La sintaxis es:
horas, minutos, segundos, día, mes, año.
Obtengamos el timestamp para el 31.01.2017
12:43:59:
<?php
echo mktime(12, 43, 59, 1, 31, 2017);
?>
Función strtotime
La función strtotime es un análogo de la función mktime
(también devuelve timestamp), pero a diferencia
de ella, acepta la fecha en un formato más libre.
Qué más se puede hacer: se puede escribir así
- strtotime('now') - y obtendremos
el momento actual, o así - strtotime('next
Monday') - y obtendremos el próximo lunes
(Monday en inglés 'lunes').
Vea el ejemplo:
<?php
echo strtotime('now');
echo strtotime('10 September 2000');
echo strtotime('+1 day');
echo strtotime('+1 week');
echo strtotime('+1 week 2 days 4 hours 2 seconds');
echo strtotime('next Thursday');
echo strtotime('last Monday');
?>