Funciones fecha

Las funciones de fecha permiten obtener la fecha y la hora del servidor donde se están ejecutando el script de PHP. Estas funciones se pueden emplear para dar formato a fechas y horas de muchas maneras diferentes. La información de la fecha y de la hora se almacena internamente como un número de 64 bits, por lo que se admiten todas las fechas útiles posibles (incluyendo años negativos). El rango va aproximadamente de 292 billones de años en el pasado hasta lo mismo en el futuro.

Se ha de tener en cuenta que estas funciones dependen de los ajustes de la configuración regional del servidor. Asegúrese de tomar en consideración el horario de verano (use, p.ej., $fecha = strtotime('+7 days', $fecha), y no $fecha += 7*24*60*60) y los años bisiestos cuando trabaje con estas funciones.

Estas son las funciones que se pueden aplicar a una fecha. Ademas de aplicar las funciones de variable de tipo general.

1. Date_create()

Establece la fecha y la hora basándose en una marca temporal de Unix. Ojo que es un numero entero que representa los segundos transcurridos desde el 01-01-1970.

$fecha = date_create();
$fecha = date_create('2017-01-01');

2. Date_add()

Añade una cantidad de días, meses, años, horas, minutos y segundos a una variable de fecha.

$fecha = date_create('2017-07-14');
date_add($fecha, date_interval_create_from_date_string('10 days'));

3. Date_sub()

Sustrae una cantidad de días, meses, años, horas, minutos y segundos a una variable de fecha.

$fecha = date_create('2000-01-20');
date_sub($fecha, date_interval_create_from_date_string('10 days'));
$fecha = date_create('1955-07-14');
echo Date($fecha,'l jS') //Wednesfay 15th

4. Date()

Devuelve una cadena formateada según el formato dado como parámetro. Si no se proporciona una variable de fecha se asumira la fecha y hora actual.

Date(formato,numero Unix)

FormatoDescripcion
sSegundos (00 a 59)
iMinutos (00 a 59)
hHoras (01 a 12)
HHoras (00 a 23)
yAño (2 dig)
YAño (4 dig)
mMes numerico (1 a 12)
MMes cadena abreviada (Jan-Dec)
FMes cadena January-December)
dDia numerico (1 a 31)
DDia de semana (Sun-Sat)
NDia de semana (1 a 7) 1=Lun
wDia de semana (0 a 6) 0=Dom
WNumero de semana (empezando lunes)
LSi el año es bisiesto = 1

$hoy = date('F j, Y, g:i a');                 // March 10, 2016, 5:16 pm
$hoy = date('m.d.y');                         // 03.10.16
$hoy = date('j, n, Y');                       // 10, 3, 2016
$hoy = date('Ymd');                           // 20160310
$hoy = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-16, 1631 1618 6 Satpm01
$hoy = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$hoy = date('D M j G:i:s T Y');               // Sat Mar 10 17:16:18 MST 2016
$hoy = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$hoy = date('H:i:s');                         // 17:16:18
$hoy = date('Y-m-d H:i:s');                   // 2016-03-10 17:16:18 (MySQL)

7. DateTime->Add

Añade una cantidad de dias, meses, años, horas, minutosy segundos a un objeto tipo fecha. El valor devuelto es una nueva fecha o FALSE si no lo logra.

$fecha = new DateTime('2016-01-01');
$fecha->add(new DateInterval('P10D'));
echo $fecha->format('Y-m-d');

5. mktime()

Obtener la marca de tiempo Unix de una fecha. El orden de los valores internos sera: horas, minutis, segundos, mes, dia, año.

$mañana = mktime(0, 0, 0, date('m'), date('d')+1, date('Y'));
$mes_pasado  = mktime(0, 0, 0, date('m')-1, date('d'), date('Y'));
$proximo_año = mktime(0, 0, 0, date('m'), date('d'), date('Y')+1);

6. Localtime()

Obtiene fecha y hora local.



7. Time()

Devuelve la fecha Unix actual.



8. ()