RE:Necesito rutina para calcular entre horas.URGEN
<input type="text" name="hora_inicio" value=<valor hh:mm> onchange="Re_calcula(id del input)
<input type="text" name="hora_termino" value=<valor hh:mm> onchange="Re_calcula(id del input
esto lo dejas tal cual
function padNmb(nStr, nLen){
var sRes = String(nStr);
var sCeros = "0000000000";
return sCeros.substr(0, nLen - sRes.length) + sRes;
}
function stringToSeconds(tiempo){
var sep1 = tiempo.indexOf(":");
var sep2 = tiempo.lastIndexOf(":");
var hor = tiempo.substr(0, sep1);
var min = tiempo.substr(sep1 + 1, sep2 - sep1 - 1);
var sec = tiempo.substr(sep2 + 1);
return (Number(sec) + (Number(min) * 60) + (Number(hor) * 3600));
}
function secondsToTime(secs)
{
var hor = Math.floor(secs / 3600);
var min = Math.floor((secs - (hor * 3600)) / 60);
var sec = secs - (hor * 3600) - (min * 60);
return padNmb(hor, 2) + ":" + padNmb(min, 2) + ":" + padNmb(sec, 2);
}
function substractTimes(t1, t2)
{
var secs1 = stringToSeconds(t1);
var secs2 = stringToSeconds(t2);
var secsDif = secs1 - secs2;
return secondsToTime(secsDif);
}
function Re_calcula(larg)
{
var duracion=new Date();
total_reg = Number(document.grabar.cantidad.value); --> aqui creo input hidden donde guardo la cantidad de input horas que tengo,, ya que esto es una tabal y puedo tener muchos input
if (total_reg > 1)
{
var h_inicio=document.grabar.h_inicio[larg-1].value +':00';
var h_termino=document.grabar.h_termino[larg-1].value +':00';
document.grabar.duracion[larg-1].value=substractTimes(h_termino,h_inicio).substring(0,5); --> aqui dejo el resultado de la resta de las hors en este input, llamado duracion
}
else
{
var h_inicio=document.grabar.h_inicio.value +':00';
var h_termino=document.grabar.h_termino.value +':00';
document.grabar.duracion.value=substractTimes(h_termino,h_inicio).substring(0,5);
}
}