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

网上的引用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;

效果截图

秒级:

毫秒级

posted @ 2022-10-04 00:13  IT情深  阅读(150)  评论(0编辑  收藏  举报