Devolver los días de diferencia entre dos fechas

Código PHP

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/**
* 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);
}
}
/** * 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); } }
/**
 * 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);
    }
}