Cálculo de horário

Delphi

31/08/2006

Olá pessoal!

Estou com a seguinte dúvida:

Eu tenho um cadastro de chamados que além de outros campos, possui os seguintes: hora_inicial, hora_final, do tipo DateTime.

Eu preciso de duas ajudas:

Uma para calcular a diferença entre os dois(hora_inicial e hora_final), e outra para converter um número de segundos em hora formatada(hh:mm:ss), exemplo:

Tenho o seguinte valor: 600
Em horas isto representa 10 horas, correto?
Eu preciso formatar este valor para que seja exibido assim: 10:00:00.

Agradeço desde já pela ajuda!
Abraços!
Fernando


Robotpost

Robotpost

Curtidas 0

Respostas

Cristiano Alves

Cristiano Alves

31/08/2006

Utilize a Função MinutesBetween da DateUtils para retornar a diferença entre duas hora em Minutos

Dai utilize essa função baixo para converte o Valor em horas:

function FormataHora(Minutos: Cardinal): string;
var
Horas: Cardinal;
begin
Horas := Minutos div 60;
Minutos := Minutos mod 60;
Result := FormatFloat(´00´, Horas) + ´:´ + FormatFloat(´00´, Minutos);
end;

[b:87cda92c16]Exemplo:[/b:87cda92c16]

procedure TForm1.BitBtn1Click(Sender: TObject);
var
HoraI, HoraF: TDateTime;
begin
HoraI := StrToDateTime(´08:30´);
HoraF := StrToDateTime(´09:45´);
ShowMessage(FormataHora(MinutesBetween(HoraF, HoraI)));
ShowMessage(FormataHora(600));
end;

Bom com a Função formataHora vc pode tranforma 600 mins em horas

ou seja

600 minutos = 10:00

Espero ter ajudado!
Abraço


GOSTEI 0
POSTAR