PHP – Date – Deferencia días
Función que devuelve los días de diferencia entre dos fechas del formato yyyy-mm-dd.
El cálculo se realiza pasando las dos fechas a TimeStamp y restándolas. No se comprueban que sean fechas válidas
/** * Class HelperDate */ abstract class HelperDate { /** * Devuelve el numero de días entre dos fechas. * Formato de fecha: yyyy-mm-dd * * @param $fecha1 * @param $fecha2 * * @return int */ public static function getDifDays($fecha1, $fecha2) { list($anio1, $mes1, $dia1) = explode('-', $fecha1); list($anio2, $mes2, $dia2) = explode('-', $fecha2); /* calculo timestam de las dos fechas */ $timestamp1 = mktime(0, 0, 0, $mes1, $dia1, $anio1); $timestamp2 = mktime(0, 0, 0, $mes2, $dia2, $anio2); /* resto a una fecha la otra */ $segundos_diferencia = $timestamp1 - $timestamp2; /* convierto segundos en días */ $dias_diferencia = $segundos_diferencia / (60 * 60 * 24); /* Obtenemos el valor absoluto de los días (quito el posible signo negativo) */ $dias_diferencia = abs($dias_diferencia); /* quito los decimales a los días de diferencia */ $dias_diferencia = floor($dias_diferencia); return intval($dias_diferencia); } }