Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Tiempo de espera (calculo entre horas)

Estas en el tema de Tiempo de espera (calculo entre horas) en el foro de Javascript en Foros del Web. Hola a todos :) He estado tratando de hacer un calculo, para que entre horas, pueda imprimar por pantalla en un input, el tiempo de ...
  #1 (permalink)  
Antiguo 21/01/2014, 13:59
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 12 años, 10 meses
Puntos: 5
Pregunta Tiempo de espera (calculo entre horas)

Hola a todos :)

He estado tratando de hacer un calculo, para que entre horas, pueda imprimar por pantalla en un input, el tiempo de espera de una persona, en una oficina por ejemplo.

Es decir, la persona llega al lugar a las 9:00 y sean las 10:34
entonces se muestra

Tiempo de espera: 1:34

Creí haberlo hecho bien con este código:
Código PHP:
/////////////////// INICIO FUNCION RESTAR HORAS ///////////////////
function restaTiempos(t1t2){
    var 
dot1 t1.indexOf(":");
    var 
dot2 t2.indexOf(":");
    var 
m1 t1.substr(0dot1);
    var 
m2 t2.substr(0dot2);
    var 
s1 t1.substr(dot1 1);
    var 
s2 t2.substr(dot2 1);
    var 
sRes = (Number(s1) - Number(s2));
    var 
mRes;
    var 
addMinute false;
    if (
sRes0){
        
addMinute true;
        
sRes += 60;
    }
    
mRes = (Number(m1) - Number(m2) - (addMinute10));
    
Hor formatString(String(mRes),2) + ":" formatString(String(sRes),2);
    
    return 
Hor;
}
/////////////////// FINAL FUNCION RESTAR HORAS ///////////////////

/////////////////// FUNCIONES PARA DISE*O HORAS ///////////////////
function formatString(stringlen){
    if (
string.length <len){
        
addchar=(len string.length);
        for (
0<addchari++){
            
string="0"+string;
        }
    }
 
    if (
string.lengthlen){
        
string=substr(string,0,len);
    }
    return 
string;
}
/////////////////// FINAL FUNCIONES PARA DISE*O HORAS ///////////////////

// FUNCION PARA MI INTERVALO
function Time_Waiting()
{
    
debugger;
    
OldTime search.checkin_consult;
    
elem1 OldTime.split(':');
    
hora1 elem2[0]+':'+elem2[1];
    
    var 
= new Date();
    var 
d.format("h:MM:ss");
    
elem2 t.split(':');
    
hora2 elem2[0]+':'+elem2[1];

    
TWaiting restaTiempos(hora1hora2);
    
    
app.setProperty('TimeWaiting','label',TWaiting);
    
//return t;
}

// LLAMO A LA FUNCION QUE ME IRA ACTUALIZANDO EL TIEMPO
TWaiting '00:00';
var Var = 
setInterval(Time_Waiting(),1000); 
el problema es que al ser por ejemplo 9:00 y la hora actual 1:00
muestra

Tiempo de espera: 8:00

en vez de:

Tiempo de espera: 4:00

Como puedo arreglar mi problema??
De antemano muchas gracias..
  #2 (permalink)  
Antiguo 21/01/2014, 15:18
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 9 años, 7 meses
Puntos: 127
Respuesta: Tiempo de espera (calculo entre horas)

Código Javascript:
Ver original
  1. var d = new Date();
  2. d.format("h:MM:ss");

??
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #3 (permalink)  
Antiguo 22/01/2014, 07:38
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: Tiempo de espera (calculo entre horas)

Disculpa..
no entiendo tu respuesta... :S
  #4 (permalink)  
Antiguo 22/01/2014, 09:29
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 8 años, 4 meses
Puntos: 578
Respuesta: Tiempo de espera (calculo entre horas)

dontexplain te ha sugerido hacerlo con la librería MomentJS, porque supongo que no pensaría que eso era JavaScript nativo
  #5 (permalink)  
Antiguo 23/01/2014, 08:13
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: Tiempo de espera (calculo entre horas)

Entonces no es posible hacer lo que quiero??
  #6 (permalink)  
Antiguo 31/01/2014, 10:22
Avatar de Beuses  
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Tiempo de espera (calculo entre horas)

Hola, muchas gracias por tu respuesta PHPeros

Pero luego de seguir buscando me encontre con esta pagina

Así la modifique un poco para así usarla.
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> Tiempo transcurrido </TITLE> 

<SCRIPT LANGUAGE="JavaScript">
function formatString(string, len){
    if (string.length <len){
        addchar=(len - string.length);
        for (i = 0; i <addchar; i++){
            string="0"+string;
        }
    }
 
    if (string.length> len){
        string=substr(string,0,len);
    }
    return string;
}
function Transcurrido(){
	// Hora de llegada
	// En mi caso uso formato "yyyy-mm-dd h:MM:ss". cada quien usa el que mas le convenga
	Hora = '2014-01-11 09:08:45'; 
	
	// convertimos valores de cada tiempo en milisegundos
	var msecPerMinute = 1000 * 60;
	var msecPerHour = msecPerMinute * 60;
	var msecPerDay = msecPerHour * 24;

	// Convertimos hora de llegada a milisegundos
	var date = new Date(Hora);
	var dateMsec = date.getTime();

	// Convertimos hora actual a milisegundos
	var date2 = new Date();
	var dateMsec2 = date2.getTime();

	// Restamos los 2 tiempos
	var interval = dateMsec2 - dateMsec;

	// calculamos Dias, Horas, Minutos y Segundos
	var days = Math.floor(interval / msecPerDay );
	interval = interval - (days * msecPerDay );

	var hours = Math.floor(interval / msecPerHour );
	interval = interval - (hours * msecPerHour );

	var minutes = Math.floor(interval / msecPerMinute );
	interval = interval - (minutes * msecPerMinute );

	var seconds = Math.floor(interval / 1000 );
	
	// Concatenamos el resultado
	Tiempo = days + ", " + hours + ":" + formatString(String(minutes),2) + "':" + formatString(String(seconds),2)+"''";
	//Tiempo = days + " days, " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds."
	
	// Mostramos por pantalla
	document.write(Tiempo);
}
</SCRIPT> 

</HEAD> 

<BODY> 
<script language="JavaScript">Transcurrido()</script>

</BODY> 
</HTML> 
Espero sirva para alguien que lo necesite..


Etiquetas: calculo, espera, horas, tiempo
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 18:10.