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. Es sinonimo de Unix_TimeStamp().

$fecha = date_create('Y-m-d h:m:s');
$fecha = date_create('01-01-2019');   //1-ENE-2019
$fecha = date_create('07/23/2019');   //23-JUL-2019

2. Now()

Retorna la fecha y hora actual. Es sinonima a LocalTime() y LocalTimeStamp().



3. 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'));

4. 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

También puedes usar date_diff(fecha1,fecha2)

5. 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)
Funciones de fecha
FormatoDescripción
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, minutos y 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.

$fecha = localtime();
$matriz = localtime(time(), true);     //{s,m,h,d,m,y,dia,semana,an/pm}

7. Time()

Devuelve la fecha Unix actual.



8. ()



10. Otros

Funciones de fecha y hora
FunciónDescripción
Year()Año YYYY
Week()Semana del año 1~52
WeekDay()
YearWeek()Año + semana
Quarter()
Month()Numero del mes 1~12
MonthName()Nombre del mes
Day()Numero del dia 1~31
DayOfMonth()Numero del dia 1~31
DayName()Nombre del dia de semana
DayOfWeek()Numero del dia 0~6
DayOfYear()Numero del dia 1~336
Hour()Hora 0~23
Minute()Minutos 0~59
Second()Segundos 0~59
MicroSecond()