Foros del Web » Programando para Internet » Javascript »

restar dos horas

Estas en el tema de restar dos horas en el foro de Javascript en Foros del Web. Código HTML: <select name= "hora_inicio" > <option> </option> <option value= "08:30:00" > 08:30:00 </option> </select> <select name= "hora_inicio" > <option> </option> <option value= "08:35:00" > ...
  #1 (permalink)  
Antiguo 04/09/2006, 12:16
 
Fecha de Ingreso: abril-2006
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
restar dos horas

Código HTML:
<select name="hora_inicio">
<option></option>
<option value="08:30:00">08:30:00</option>
</select>

<select name="hora_inicio">
<option></option>
<option value="08:35:00">08:35:00</option>
</select>

<input name="tiempo_duracion" size="30" a="a" /></td> 
como puedo yo hacer aparecer en tiempo de duracion la resta de las dos horas....existe alguna solucion..

PD:cualquier sugerencia o ayuda sera bienvenida...muchas gracias de antemano..
  #2 (permalink)  
Antiguo 04/09/2006, 15:25
Avatar de rock_blues.NET  
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
solucion hay..

si mas no recuerdo se realizaba el proceso pero con los codigos AScii de cada numero, la verdad en este momento no lo recuerdo..

probaste rescatando por seccion los datos, osea
primero horas
despues minutos
ultimo segundos

los pasas a entero y despues realizas la resta..

si encuentro la solucion te lo hare saber
  #3 (permalink)  
Antiguo 04/09/2006, 15:36
Avatar de rock_blues.NET  
Fecha de Ingreso: septiembre-2005
Mensajes: 207
Antigüedad: 18 años, 7 meses
Puntos: 0
ups, creo q lo encontre

estaba posteado anteriormente

Código HTML:
<html>
 <head>
  <script language="JavaScript">

   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 calcT3(){
    with (document.frm)
     t3.value = substractTimes(t1.value, t2.value);
   }

  </script>
 </head>
 <body>
  <script language="JavaScript">
   var w = 400;
   var h = 200;
   resizeTo(w, h);
   moveTo((screen.width - w)/ 2, (screen.height - h)/ 2);
  </script>
  <form name="frm">
   Hora1 mayor (hh:mm:ss): <input type="text" name="t1" value="12:30:15"><br>

   Hora2 menor (hh:mm:ss): <input type="text" name="t2" value="3:40:18"><br>
   <hr>
   Resta (hh:mm:ss): <input type="text" name="t3" value=""><br><br>
   <input type="button" onclick="calcT3()" value="Restar">
  </form>
 </body>
</html> 
funciona a mil, ojo q la hora mayor debe estar arriba

saludos
  #4 (permalink)  
Antiguo 29/02/2008, 09:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: restar dos horas

eXCELENTE APORTE ME A AYUDADO EN GRAN MEDIDA
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:10.