Buscar

Formatar segundos em HMS (hh:mm:ss)

Código

{A seguinte função formata segundos em horas, minutos e segundos, além de ser facilmente adaptável para outras unidades, como milissegundos, dias, etc...
A vantagem dela com relação as que encontrei aqui no site é que ela formata com duas casas decimais, ou seja, coloca um 'zero' quando alguma dezena é nula}


function SToHMS(I: Integer): String;
var
H, M: Integer;
Hs, Ms, Ss: String;
begin
H := I div 3600;  //horas completas
I := I mod 3600;  //segundos que sobraram das horas completas
M := I div 60;    //minutos completos
I := I mod 60;    //segundos que sobraram dos minutos completos
if (H < 10) then Hs := '0' + IntToStr(H)
else  Hs := IntToStr(H);
if (M < 10) then Ms := '0' + IntToStr(M)
else  Ms := IntToStr(M);
if (I < 10) then Ss := '0' + IntToStr(I)
else  Ss := IntToStr(I);
Result := Hs + ':' + Ms + ':' + Ss;
end;

//Para usar a função:

Panel1.Caption := SToHMS(*); //*colocar o valor a ser formatado

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Data e hora
Adicionada dia: 04/02/10
Por: Bruno Lucatto
Visualizada: 3470 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009