Fórum Calcular hora #38874
22/09/2003
0
Tenho dois campos do tipo time no meu aplicativo: hora_entrada e hora_saida. Já tentei de várias formas mas não consegui fazer o seguinte cálculo: hora_saida - hora_entrada. Preciso saber quantas horas a pessoa permaneceu no local.
Valeu.
Valeu.
Barbara.michele
Curtir tópico
+ 0
Responder
Posts
22/09/2003
Afarias
vc terá que fazer tal cálculo no CLIENTE ou no servidor usando uma UDF.
T+
T+
Responder
Gostei + 0
23/09/2003
Netosdr
DICA RETIRADA DO DTDELPHI 2.6 (www.lloydsoft.hpg.ig.com.br)
529 - Diferença entre duas horas
function DifHora(Inicio,Fim : String):String;
{Retorna a diferença entre duas horas}
var
FIni,FFim : TDateTime;
begin
Fini := StrTotime(Inicio);
FFim := StrToTime(Fim);
If (Inicio > Fim) then
begin
Result := TimeToStr((StrTotime(´23:59:59´)-Fini)+FFim)
end
else
begin
Result := TimeToStr(FFim-Fini);
end;
end;
Observação incluída por um dos usuários da DTDelphi sobre a dica Acima:
Olá, meu nome é Paulo e já parabenizo pelas dicas disponíveis em Delphi, que ajudam todos os programadores desta linguagem.
Eu sempre recorro as dicas e idéias, quando deparamos com algumas dúvidas e dificuldades.
Eu estava consultando as dicas sobre horas, depois de ter feito rotinas de cálculos de horas, é ví que a dica 529 diminuiria um tempo se eu tivesse visto antes.
Se você achar importante, tenho uma observação sobre esta dica. É que quando é calculado com a diferença de 24 horas o resultado é sempre xx:59:59, portanto para que o resultado seja arredondado, é só acrescentar + StrToTime(´00:00:01) conforme abaixo.
Result := TimeToStr((StrTotime(´23:59:59´) + StrToTime(´00:00:01´) -Fini)+FFim
529 - Diferença entre duas horas
function DifHora(Inicio,Fim : String):String;
{Retorna a diferença entre duas horas}
var
FIni,FFim : TDateTime;
begin
Fini := StrTotime(Inicio);
FFim := StrToTime(Fim);
If (Inicio > Fim) then
begin
Result := TimeToStr((StrTotime(´23:59:59´)-Fini)+FFim)
end
else
begin
Result := TimeToStr(FFim-Fini);
end;
end;
Observação incluída por um dos usuários da DTDelphi sobre a dica Acima:
Olá, meu nome é Paulo e já parabenizo pelas dicas disponíveis em Delphi, que ajudam todos os programadores desta linguagem.
Eu sempre recorro as dicas e idéias, quando deparamos com algumas dúvidas e dificuldades.
Eu estava consultando as dicas sobre horas, depois de ter feito rotinas de cálculos de horas, é ví que a dica 529 diminuiria um tempo se eu tivesse visto antes.
Se você achar importante, tenho uma observação sobre esta dica. É que quando é calculado com a diferença de 24 horas o resultado é sempre xx:59:59, portanto para que o resultado seja arredondado, é só acrescentar + StrToTime(´00:00:01) conforme abaixo.
Result := TimeToStr((StrTotime(´23:59:59´) + StrToTime(´00:00:01´) -Fini)+FFim
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)