Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tamiris Santos

Validar tempo limite entre um horario e outro.

Recommended Posts

Bom dia pessoal.

 

Precisando de uma ajudinha de vocês. Eu estive pesquisando nos últimos dias antes de postar e não consegui encontrar algo que me ajudasse. Então vamos lá.

 

Eu preciso de um script que verifique dois horários e se o tempo entre um e outro ultrapassar 10 minutos (por exemplo), ele exibe uma mensagem. Ex.: O periodo entre horario 1 e horario 2 ultrapassou o limite de 10 minutos.

 

Ao meu ver, parece simples, mas como já estou perdida nisso há um tempo, já não consigo encontrar a solução.

 

Podem me ajudar?!

 

Obrigadinha!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, acredito que com a lib momentjs seja bem tranquilo de fazer o que vc quer:

 

http://momentjs.com/docs/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada William. Não conhecia esse momentjs. Vou dar uma estudada pra conseguir aplica-lo futuramente, porém de imediato gostaria que, se fosse possivel, me ajudasse e corrigir oq eu fiz por aqui.. rs

 

Explicando....

 

Tenho dois campos:

 

Horário Liberado / Horário Partida

 

Ao preencher os horários, tem que ser feita uma validação que exibe uma div caso o tempo entre liberação e partida ultrapasse 10 minutos.

 

Eu fiz essa função aqui, mas ela tem um problema.

 

Se o horário de liberação for 00:59 e o de partida for 01:01 ele já acusa o atraso pelo fato da hora, teoricamente, ser maior., porém não se passaram 10 e sim 2 minutos...

function validaAtraso2(){

var a=document.getElementById("liberado").value+':00';
var b=document.getElementById("partida").value+':00';
if(document.getElementById("partida").value != ''){
var aa1=a.split(":");
var aa2=b.split(":");

var d1=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa1[0],10),parseInt(aa1[1],10),parseInt(aa1[2],10));
var d2=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa2[0],10),parseInt(aa2[1],10),parseInt(aa2[2],10));
var dd1=d1.valueOf();
var dd2=d2.valueOf();



	
		if(aa2[0]-aa1[0]>=1 || aa2[1]-aa1[1]><%=HorarioLimite2%>){
			window.alert('O tempo de partida e entrega ultrapassou o limite de <%=HorarioLimite2%> minutos. Justifique o motivo.');
			document.getElementById('div_motivos2').style.display='block';
		}else{
			document.getElementById('div_motivos2').style.display='none';
		}
}
}

Não estou conseguindo fazer isso.. pode me ajudar?

 

Obrigada!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, eu disse q eu já estava cansada demais pra continuar! rsrs

 

Dei uma pausa e agora eu consegui resolver.

 

Fiz td em ms. veja como ficou.

function validaAtraso2(){

var a=document.getElementById("liberado").value+':00';
var b=document.getElementById("partida").value+':00';
if(document.getElementById("partida").value != ''){
var aa1=a.split(":");
var aa2=b.split(":");

var d1=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa1[0],10),parseInt(aa1[1],10),parseInt(aa1[2],10));
var d2=new Date(parseInt("2001",10),(parseInt("01",10))-1,parseInt("01",10),parseInt(aa2[0],10),parseInt(aa2[1],10),parseInt(aa2[2],10));
var dd1=d1.valueOf();
var dd2=d2.valueOf();



		var limiteestipulado=<%=HorarioLimite2%>*60*1000
		
		if(dd2-dd1>=limiteestipulado){
			window.alert('O tempo de partida e entrega ultrapassou o limite de <%=HorarioLimite2%> minutos. Justifique o motivo.');
			document.getElementById('div_motivos2').style.display='block';
		}else{
			document.getElementById('div_motivos2').style.display='none';
		}



}
}

Obrigada mesmo assim.. vou estudar sobre o momentjs!

 

 

\o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.