获取当前时间毫秒

时间:2015-04-22 07:43:33

标签: delphi

如何以毫秒为单位获取当前时间?我知道要使用 Now ,但我需要花费几毫秒的时间。

var
  today : TDateTime;
begin
  today := Now;

4 个答案:

答案 0 :(得分:16)

DateUtils.MilliSecondsBetween(Now, 0);

答案 1 :(得分:5)

使用DateUtils MilliSecondOfTheDay

ms := MillisecondOfTheDay(Now);
  

返回指定的TDateTime值与同一天开始之间的毫秒数。

如果您想要从另一个时间范围开始的毫秒数,还有其他类似的功能,例如:MilliSecondOfTheYearMilliSecondsBetween等。

答案 2 :(得分:1)

DecodeDateTime将采用TDateTime并将其分为年,月,日,小时分秒和毫秒。

有关详细信息,请参阅http://www.delphibasics.co.uk/RTL.asp?Name=DecodeDateTime

获得个别数字后,您可以使用数学计算午夜过后的当前毫秒数。

Var
  myDate: TDateTime;
  myYear, myMonth, myDay: Word;
  myHour, myMin, mySec, myMilli: Word;

begin
  myDate := Now;
  DecodeDateTime(myDate, myYear, myMonth, myDay, myHour, myMin, mySec, myMilli);
  ShowMessage('Number of milliseconds past midnight = ' + IntToStr(myMilli + (mySec * 1000) + (myMin * 60 * 1000) + (myHour * 60 * 60 * 1000)));
end;

答案 3 :(得分:1)

TDateTime是double,其中1是一天。在SysUtils中声明的SecsPerDay常量表示一天中的秒数,因此以毫秒为单位获取Now:

todayInMilliseconds := Now * SecsPerDay * 1000.0;