首页 > 技术文章 > delphi 获取时间戳 如何得到 和 js 中 new Date().getTime();的 相同?

rogge7 2018-08-02 20:43 原文

new Date().getTime();  //1533213439019

 

通过,启发

function DateTimeToUnix(const AValue: TDateTime): Int64;
begin
Result := SecondsBetween(UnixDateDelta, AValue);
if AValue < UnixDateDelta then
Result := -Result;
end;

得到秒级别的,本人改造一下:

MilliSecondsBetween(UnixDateDelta, Now );得到的是比 JavaScript  得到的大很多的数,猜想应该获取的是 

解析:它得到的时间比c语言中time()得到的时间大了8*60*60
这是因为Now是当前时区的时间,c语言中time()是按格林威治时间计算的,
北京时间比格林威治时间多了8小时

 

最终写成:现在的时候 -8 

MilliSecondsBetween(UnixDateDelta, IncHour(Now,-8) )

推荐阅读