Hi GujExperts…
Estou desenvolvendo uma página que faz cálculo de horas.
O uso é para o seguinte:
Calcular um intervalo de tempo entre HoraInicial e HoraFinal e mostrar o resultado ou seja o tempo corrido.
O problema é o seguinte:
A lógica do programa, creio eu está funcionando, mas na hora de mostrar o resultado está mostrando errado.
Ex1:
se eu coloco na HoraInicial: 17:01 e HoraFinal: 21:04
ele mostra o resultado de: 04:30 e não o certo que seria 04:03
Ex2:
mas se eu coloco na HoraInicial: 17:01 e HoraFinal: 21:14
ele mostra o resultado de: 04:13 ou seja resultado correto
conclusão:
creio que quando a HoraFinal é assim: 21:04 com um ZEROantes do minuto ele ignora e entende como se fosse assim: 21:4
Por favor galera me ajude…
d = document;
w = window;
//calculo de horas
function hora(getDiaI,getDiaII,getHoraI,getHoraII){
diaI = getDiaI.split('/');
diaII = getDiaII.split('/');
horaI = getHoraI.split(':');
horaII = getHoraII.split(':');
var date1 = new Date(diaI[0], diaI[1], diaI[2]);//ano,mes,dia
var date2 = new Date(diaII[0], diaII[1], diaII[2]);//ano,mes,dia
date1.setHours(horaI[0]);
date1.setMinutes(horaI[1]);
date2.setHours(horaII[0]);
date2.setMinutes(horaII[1]);
var time = date2.getTime() - date1.getTime();
var horas = time / 3600000;
var hrTotal = parseInt(horas, 10) + ":" + ((time % 3600000) / 60000);// mostra o resultado.......................
setHora(hrTotal);
}
//pega data inicial
function getDataInicial(){
var dt;
dt = d.getElementById('dataInicio').value;
return dt;
}
//pega data final
function getDataFinal(){
var dt = getDataInicial();
return dt;
}
//pega hora inicial
function getHoraInicial(){
var dt = d.getElementById('horaInicio').value;
return dt;
}
//pega hora final
function getHoraFinal(){
var dt = d.getElementById('horaFim').value;
return dt;
}
//coloca o total de horas trabalhada nos dois imputs de resultado
function setHora(arg){
d.getElementById('horaTotalI').value = arg;
d.getElementById('horaTotalII').value = arg;
}
//chama a função que calcula as horas
function calculaHora(){
hora(getDataInicial(),getDataFinal(),getHoraInicial(),getHoraFinal());
}