Jquery: Comparador de fechas

function diferenciaDias(fechaInicio, horaInicio, fechaFin, horaFin) {
    var hora1 = parseInt(horaInicio.substr(0, 2), 10);
    var minuto1 = parseInt(horaInicio.substr(2, 4), 10);
    var hora2 = parseInt(horaFin.substr(0, 2), 10);
    var minuto2 = parseInt(horaFin.substr(2, 4), 10);

    var diferencia = 0;
    if (fechaInicio != '' && fechaFin != '') {
        diferencia = difDias(fechaInicio, fechaFin);
        //Cuando se pasen de 24h es un día más.
        if ((hora1 < hora2) || (hora1 == hora2 && minuto1 < minuto2))
            diferencia++;
    }
    return diferencia;
}

function numDias(d, m, a) {
    d = parseInt(d, 10);
    m = parseInt(m, 10);
    a = parseInt(a, 10);

    m = (m + 9) % 12;
    a = a - Math.floor(m / 10);
    return 365 * a + Math.floor(a / 4) - Math.floor(a / 100) + Math.floor(a / 400)
+ Math.floor((m * 306 + 5) / 10) + d - 1;
}

function difDias(fecha1, fecha2) {
    var f1 = fecha1.split('/');
    var d1 = f1[0];
    var m1 = f1[1];
    var a1 = f1[2];

    var f2 = fecha2.split('/');
    var d2 = f2[0];
    var m2 = f2[1];
    var a2 = f2[2];

    return numDias(d2, m2, a2) - numDias(d1, m1, a1)
}

Comentarios

Entradas populares