2012-10-23 14 views
5

tôi đang cố gắng để có được sự khác biệt giữa hai datetimes và hiển thị nó trong chuỗi như hh: mmSự khác nhau giữa datetimes trong Giờ, Phút, Giây

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

các cửa hàng cơ sở dữ liệu nó trong vài phút

dụ (0,39)

tôi muốn sau đó mang nó từ cơ sở dữ liệu và hiển thị nó trong hh định dạng chuỗi: mm

+6

Bạn có thực sự cần trường 'phút' trong Cơ sở dữ liệu của mình không? Các trường 'vstart' và' vend' đã chứa tất cả thông tin bạn cần để trả về sự khác nhau giữa chúng như kết quả truy vấn (theo định dạng bạn cần). – teran

Trả lời

13

trong DateUtils có một functio n MinutesBetween có thể được sử dụng như vậy:

m := MinutesBetween(vend,vstart); 
yourHMStr := Format('%2.2d:%2.2d',[m div 60,m mod 60]); 
Các vấn đề liên quan