2009. október 13., kedd
How to calculate the elapsed time between 2 DateTime fields
Problem/Question/Abstract:
Using Delphi 5, I need to calculate the elapsed time between 2 DateTime fields with the result returned in Days, Hours and Minutes format.
Answer:
Subtract the values AsDateTime and then use DecodeDate and DecodeTime on the result:
procedure TMyForm.Button1Click(Sender: TObject);
var
StartT, EndT, DeltaT: TDateTime;
Days, Hour, Min, Sec, MSec: Word;
begin
StartT := StrToDateTime('27.02.2000 13:45');
EndT := StrToDateTime('02.03.2000 17:30');
DeltaT := EndT - StartT;
Days := trunc(DeltaT);
DecodeTime(DeltaT, Hour, Min, Sec, MSec);
ShowMessage(' Time elapsed: ' + IntToStr(Days) + ' days, ' + IntToStr(Hour) +
' hours, ' + IntToStr(Min) + ' minutes ');
end;
When trying to actually run the above sample, you have to change the string constants used to initialize the datetime vars according to your settings in ShortDateFormat and LongTimeFormat.
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése