Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalhando Com Data E Hora


Guest Ricardo Santos

Pergunta

Guest Ricardo Santos

Galera,

Como faço para achar quantas horas se passaram no cálculo abaixo

Data_Hora1 = StrToDate('21/12/2004 02:45:00');

Data_Hora2 = Now;

Total_Horas = Data_Hora2 - Data_Hora1;

Ou seja, preciso de uma função que calcule quantas horas se passaram desde a primeira data (21/12/2004 02:45:00) até agora...

Por favor, alguém sabe como resolver isto?

No aguardo,

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Galera,

Como faço para achar quantas horas se passaram no cálculo abaixo

Data_Hora1 = StrToDate('21/12/2004 02:45:00');

Data_Hora2 = Now;

Total_Horas = Data_Hora2 - Data_Hora1;

Ou seja, preciso de uma função que calcule quantas horas se passaram desde a primeira data (21/12/2004 02:45:00) até agora...

Por favor, alguém sabe como resolver isto?

No aguardo,

Corrigindo...

Data_Hora1 = StrToDateTime('21/12/2004 02:45:00');

Data_Hora2 = Now;

Total_Horas = Data_Hora2 - Data_Hora1;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Carlos Alberto

Tenta usando essa script:

var

hora1: TDateTime;

hora2: TDateTime;

total: TDateTime;

begin

hora1 := StrToTime(Edit1.Text);

hora2 := StrToTime(Edit2.Text);

total := Hora2 - Hora1;

Label1.Caption := FormatDateTime('hh:nn:ss',total);

end;

acho que pode dar certo assim...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Ricardo Santos
Tenta usando essa script:

var

hora1: TDateTime;

hora2: TDateTime;

total: TDateTime;

begin

hora1 := StrToTime(Edit1.Text);

hora2 := StrToTime(Edit2.Text);

total := Hora2 - Hora1;

Label1.Caption := FormatDateTime('hh:nn:ss',total);

end;

acho que pode dar certo assim...

Caro Carlos,

Infelizmente assim não funciona... pois ele subtrai somente as horas, mas, quando o valor das hora ultrapassa 24h ele volta a zerar a hora. Por exemplo:

24/01/2005 10:00:00 - 23/01/2005 11:00:00 = 25hs mas o resultado é mostrado como 1h, pois ultrapassou as 24hs

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, tenha em mente o seguinte: os cpos datetime ou date ou time são doubles onde a parte inteira é a quantidade de dias e a parte fracionária é o tempo decorrido desde às 0:00 hrs daquele dia. Então quando você subtrai um date do outro, você obtém a diferença em dias + uma fração de tempo que não servirá em nada p/ o seu cálculo. Creio que você deverá converter tudo em horas p/ depois achar a diferença.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...