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
Publicar un comentario