sábado, 27 de fevereiro de 2010

Dicas Delphi - Converter Minutos Para Horas

Salve, salve

Veja nesta dica uma simples função que retorna a quantidade de horas a partir de uma quantidade de minutos.

function MinutosEmHoras(Minutos: Integer): String;
var
HoraDecimal, HH, MM: String;
begin
if Minutos > 1440 then
Minutos := Minutos - 1440;
HoraDecimal := FormatFloat( '00.00', Minutos / 60 );
HH := Copy( HoraDecimal, 1 , 2 );
if Copy( HoraDecimal, 4, 5 )[1] = '0' then
MM := '0' + IntToStr( Round( ( StrToInt( Copy( HoraDecimal, 4, 5 ) ) * 60 ) /100 ) )
else
MM := IntToStr( Round( ( StrToInt( Copy( HoraDecimal, 4, 5 ) ) * 60 ) /100 ) );
Result := HH+ ':' + MM ;
end;



Para utilizá-la, faça:

ShowMessage( MinutosEmHoras(480) );
//retornará: '08:00'

----
Retirada da internet
----

Take care

3 comentários:

Anônimo disse...

function FormataMinutos(QdtMinutos : Cardinal) : string;
begin
Result := Format('%.2d:%.2d', [QdtMinutos div 60, QdtMinutos mod 60]);
end;

Marcos disse...

ola estou precisando de uma ajuda ou dica.

preciso fazer um sistema que cobra horas e aquelas franquias que os pais deixam as ciranca no parque e depois paga

o pai pode comprar um pacote tipo 50 horas e ir descontando nele.. so que tentei fazer 50 horas pra exemplo descontar 15 minutos ou 1 horas nao da certo.. alguem ja fez isso ou algo parecido

tentei fazer 50 - 0,15(minutos) ate que vai so que quando vamos para 50-0,60(que seria 1 hora nao vai) e ainda teria por exemplo se pai deixa a crianca 14 horas por exemplo quando dar 14:01 o sistema tem jogar ja o pacote de 15 minutos e se der 14:21 (que passou os 5 de tolerancia ) ja jogaria mais 15 fechando 30 minutos
.

o problema maior ai que estou entrando e como fazer essa base de horas

Marcos disse...

ola estou precisando de uma ajuda ou dica.

preciso fazer um sistema que cobra horas e aquelas franquias que os pais deixam as ciranca no parque e depois paga

o pai pode comprar um pacote tipo 50 horas e ir descontando nele.. so que tentei fazer 50 horas pra exemplo descontar 15 minutos ou 1 horas nao da certo.. alguem ja fez isso ou algo parecido

tentei fazer 50 - 0,15(minutos) ate que vai so que quando vamos para 50-0,60(que seria 1 hora nao vai) e ainda teria por exemplo se pai deixa a crianca 14 horas por exemplo quando dar 14:01 o sistema tem jogar ja o pacote de 15 minutos e se der 14:21 (que passou os 5 de tolerancia ) ja jogaria mais 15 fechando 30 minutos
.

o problema maior ai que estou entrando e como fazer essa base de horas