Fórum Operação com horas #329998
24/09/2006
0
Olá meus amigos,
Novamente estou aki solicitando de vcs uma auxílio num sistema que estou criando...
Preciso subtrair do horário de início, o horário final, para saber quantos minutos durou uma rotina qualquer...
Experimentei fazer isso com dois campos do time TIME e coloquei os seguites horários: H.I. => 15:53 H.F. => 15:57.
O resultado foi 00, quando deveria mostrar 4.
Alguém pode me ajudar a resolver este probleminha.
Obrigado a todos e beijinhos...
Novamente estou aki solicitando de vcs uma auxílio num sistema que estou criando...
Preciso subtrair do horário de início, o horário final, para saber quantos minutos durou uma rotina qualquer...
Experimentei fazer isso com dois campos do time TIME e coloquei os seguites horários: H.I. => 15:53 H.F. => 15:57.
O resultado foi 00, quando deveria mostrar 4.
Alguém pode me ajudar a resolver este probleminha.
Obrigado a todos e beijinhos...
Anjinho Loiro
Curtir tópico
+ 0
Responder
Posts
24/09/2006
Will
Receba a diferença em uma variável do tipo TDateTime. Se você só quer mostrar na tela basta formatar:
Ex.
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;
ShowMessage(FormatDateTime(´hh:nn:ss.zzz´, HoraDif));
end;
[/color:7ef54bc26f]
Se você quer mostrar a diferença em minutos faça assim:
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
Horas, Minutos, Segundos, MSegundos: Word;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;
DecodeTime(HoraDif, Horas, Minutos, Segundos, MSegundos);
end;
[/color:7ef54bc26f]
Tem ainda a função [b:7ef54bc26f]MinutesBetween[/b:7ef54bc26f] da unit [b:7ef54bc26f]DateUtils[/b:7ef54bc26f]
Ex.
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;
ShowMessage(FormatDateTime(´hh:nn:ss.zzz´, HoraDif));
end;
[/color:7ef54bc26f]
Se você quer mostrar a diferença em minutos faça assim:
[color=green:7ef54bc26f]
var
HoraIni, HoraFim, HoraDif: TDateTime;
Horas, Minutos, Segundos, MSegundos: Word;
begin
HoraIni := StrToTime(´15:53:00´);
HoraFim := StrToTime(´15:57:00´);
HoraDif := HoraFim - HoraIni;
DecodeTime(HoraDif, Horas, Minutos, Segundos, MSegundos);
end;
[/color:7ef54bc26f]
Tem ainda a função [b:7ef54bc26f]MinutesBetween[/b:7ef54bc26f] da unit [b:7ef54bc26f]DateUtils[/b:7ef54bc26f]
Responder
Gostei + 0
25/09/2006
Macario
Ola.
Para medir o tempo de execucao de uma rotina (creio que no seu caso seja uma instrucao SQL) eu utlizo da seguinte forma.
8)
Para medir o tempo de execucao de uma rotina (creio que no seu caso seja uma instrucao SQL) eu utlizo da seguinte forma.
var
Inicio,Fim : DWord;
begin
Inicio := GetTickCount;
{ bloco de codigo para execucao}
Fim := GetTickCount;
StatusBar.Panel[4].Text := FormatDateTime(´hh:mm:ss´,((Fim-Inicio)/1000/24/60/60));
end;
8)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)