Fórum Cálculo de horário #328379
31/08/2006
0
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
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
Curtir tópico
+ 0
Responder
Posts
31/08/2006
Cristiano Alves
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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)