两个日期时间相减,计算登录在线时长,此代码为正解!!!
其中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;

解决方案 »

  1.   

    这样,就理好理解了:procedure TForm1.Button1Click(Sender: TObject);
    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;