两个日期时间相减,计算登录在线时长,此代码为正解!!!
其中DateTime为当前时间,gdLoginDateTime为系统登录时间
var dtOnlineDateTime: TDateTime;
begin
if DateTimeToStr(gdLoginDateTime) <> '1899-12-30' then
begin
dtOnlineDateTime := DateTime - gdLoginDateTime;
lblOnlineTime.Caption := '在线时长:' + IntToStr(Trunc(dtOnlineDateTime)) + '天'
+ FormatDatetime('H"小时"m"分"s"秒"', Frac(dtOnlineDateTime));
end;
end;
其中DateTime为当前时间,gdLoginDateTime为系统登录时间
var dtOnlineDateTime: TDateTime;
begin
if DateTimeToStr(gdLoginDateTime) <> '1899-12-30' then
begin
dtOnlineDateTime := DateTime - gdLoginDateTime;
lblOnlineTime.Caption := '在线时长:' + IntToStr(Trunc(dtOnlineDateTime)) + '天'
+ FormatDatetime('H"小时"m"分"s"秒"', Frac(dtOnlineDateTime));
end;
end;
var subtrahend,DateTimeFirst,DateTimeLast:TDateTime;
begin
DateTimeFirst:=StrToDateTime('2013-11-11 12:23:34');
DateTimeLast:=StrToDateTime('2015-11-11 15:28:39');
subtrahend:=DateTimeLast-DateTimeFirst;
Edit1.Text:= '在线时长:' + IntToStr(Trunc(subtrahend)) + '天'
+ FormatDatetime('H"小时"m"分"s"秒"', Frac(subtrahend));
end;