如何以毫秒为单位获取当前时间?我知道要使用 Now
,但我需要花费几毫秒的时间。
var
today : TDateTime;
begin
today := Now;
答案 0 :(得分:16)
DateUtils.MilliSecondsBetween(Now, 0);
答案 1 :(得分:5)
使用DateUtils MilliSecondOfTheDay:
ms := MillisecondOfTheDay(Now);
返回指定的TDateTime值与同一天开始之间的毫秒数。
如果您想要从另一个时间范围开始的毫秒数,还有其他类似的功能,例如:MilliSecondOfTheYear
,MilliSecondsBetween
等。
答案 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;