2012-10-23 19 views
5

Próbuję uzyskać różnicę między dwoma datetimes i wyświetlić go w ciągu jako hh: mmróżnica między datetimes w godzinach, minutach, Sekund

q.parambyname('vstart').asdatetime:= vstart; 
q.parambyname('vend').asdatetime:= vend; 
d:= vend-vstart; 
mins:= d * 1440; 
q.ParamByName('mins').asBCD:= mins; 

obecnie baza danych przechowuje go w minutach

przykład (0,39)

Chciałbym następnie zabrać go z bazy danych i wyświetlić go w formacie hh łańcuch: mm

+6

Czy naprawdę potrzebujesz pola 'mins' w swojej bazie danych? Pola vstart' i 'vend' zawierają już wszystkie informacje potrzebne do zwrócenia różnicy między nimi jako wyniku zapytania (w wymaganym formacie). – teran

Odpowiedz

13

w DateUtils jest funk n MinutesBetween, który może być używany jako taki:

m := MinutesBetween(vend,vstart); 
yourHMStr := Format('%2.2d:%2.2d',[m div 60,m mod 60]); 
Powiązane problemy