Alguem poderia me ajudar
21/11/2005
0
Olá amigos Delphianos, minha dificuldade continua sem solução alguem poderia me dar um ajuda ou ideia preciso calcular a diferença em horas entre duas datas diferentes exemplo:
Entrada
20/11/2005 às 23:26:54
Saída
21/11/2005 às 00:16:00
Se eu fizer esta consulta às 23:50:00 do dia 20/11/2005 o resultado apresentado é: 23:23:43
quando o Resultado esperado seria: 00:49:00
Quando calculo a diferença dentro do mesmo dia dá certo, porem, se o relógio passa para 00:00:01 do dia seguinte por exemplo o resultado fica errado...
Gostaria da ajuda de vocês, se alguem tiver uma função ou procedure ou ideia ou qualquer coisa que possam me ajudar, agradeço antecipadamente.
Até Breve!
Márcio M. Camilo
[color=red:7a28f74975][b:7a28f74975]Tópico bloqueado![/b:7a28f74975][/color:7a28f74975]
Não está de acordo com as Regras de Conduta do fórum:
1º) título não está de acordo com a dúvida ([url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1d]cláusula 1d[/url]);
2º) duplicidade - http://forum.clubedelphi.net/viewtopic.php?t=70546 ([url=http://forum.clubedelphi.net/viewtopic.php?p=170192]cláusula 2)[/url].
Sandra/Moderação
Entrada
20/11/2005 às 23:26:54
Saída
21/11/2005 às 00:16:00
Se eu fizer esta consulta às 23:50:00 do dia 20/11/2005 o resultado apresentado é: 23:23:43
quando o Resultado esperado seria: 00:49:00
Quando calculo a diferença dentro do mesmo dia dá certo, porem, se o relógio passa para 00:00:01 do dia seguinte por exemplo o resultado fica errado...
Gostaria da ajuda de vocês, se alguem tiver uma função ou procedure ou ideia ou qualquer coisa que possam me ajudar, agradeço antecipadamente.
Até Breve!
Márcio M. Camilo
[color=red:7a28f74975][b:7a28f74975]Tópico bloqueado![/b:7a28f74975][/color:7a28f74975]
Não está de acordo com as Regras de Conduta do fórum:
1º) título não está de acordo com a dúvida ([url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1d]cláusula 1d[/url]);
2º) duplicidade - http://forum.clubedelphi.net/viewtopic.php?t=70546 ([url=http://forum.clubedelphi.net/viewtopic.php?p=170192]cláusula 2)[/url].
Sandra/Moderação
Mmcamilo
Curtir tópico
+ 0
Responder
Posts
21/11/2005
Thomaz_prg
Sabendo-se que, se fizermos uma substração de datas a diferença é dada em dias, poderiamos ter o seguinte:
Bom, esse foi um exemplo simplificado... digo isso porque, o exemplo que coloquei está considerando apenas as Horas, ou seja se tiver como hora inicial 20:20:50 e Hora final 23:10:15 dessa forma está sendo considerado apenas 20:00:00 e 23:00:00. Basta implementar o que já foi mostrado (nos trechos onde tem //* no final), aproveitando a idéia mostrada, para fazer o cálculo levando-se em conta minutos e segundos.
var QtdDias:Integer; Sobra:Integer; QtdDias := DataF - DataI if HoraF < HoraI then begin //* QtdDIas := QtdDias-1; //* Sobra := HoraI + 24 - Horaf; //* end //* else if HoraF > HoraI then //* Sobra := Horaf-HoraI; //* Dif_Horas := QtdDias * 24 + Sobra;
Bom, esse foi um exemplo simplificado... digo isso porque, o exemplo que coloquei está considerando apenas as Horas, ou seja se tiver como hora inicial 20:20:50 e Hora final 23:10:15 dessa forma está sendo considerado apenas 20:00:00 e 23:00:00. Basta implementar o que já foi mostrado (nos trechos onde tem //* no final), aproveitando a idéia mostrada, para fazer o cálculo levando-se em conta minutos e segundos.
Responder
Clique aqui para fazer login e interagir na Comunidade :)