网上的引用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;
效果截图
秒级:

毫秒级

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

3513

被折叠的 条评论
为什么被折叠?



