Delphi生成时间戳(秒级、毫秒级)

这篇博客提供了两种在Delphi中正确将DateTime转换为毫秒级时间戳的方法,确保与JAVA和C++的结果一致。通过示例代码展示了秒级和毫秒级时间戳的计算,并给出了实际运行的效果截图。这些方法对于需要精确时间戳的开发者来说非常有用。

网上的引用DateTimeToTimeStamp生成毫秒级时间戳基本都是错误的:

现提供两种方法,算出的确认跟JAVA ,C++一样的

秒级:

   Edit2.Text:=IntToStr(DateTimeToUnix(Now));
   Edit3.Text:=IntToStr(DateTimeToUnix(Now)-8*60*60);

毫秒级 :

function GetTimeStampMilliseconds:string;
var
  SysTime:TsystemTime;
  timen,time2:TDateTime;
  ss2,ss3:int64;
  str2:string;

begin
  GetLocalTime(SysTime);
  timen:= SystemTimeToDateTime(SysTime);
  time2 := EncodeDateTime( 1970, 1, 1, 0, 0, 0, 0 );

  ss2 := 28800000;
  ss3 := MilliSecondsBetween( timen, time2 );
  ss3 :=ss3- ss2;

  str2 := IntToStr(ss3);
  result:=str2;
end;

function GetMillisecondTimeStamp: Int64;
var
  st: TDateTime;
begin
  st := EncodeDateTime( 1970, 1, 1, 0, 0, 0, 0 );
  Result := MilliSecondsBetween( Now, st )-8*60*60*1000;
end;

效果截图

秒级:

毫秒级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值