本文整理自网络,侵删。
介绍
本文章介绍了Delphi XE5实现DateTimeToUnix/UnixToDateTime的一点小改进,在原来的函数中Delphi的DateTimeToUnix/UnixToDateTime转换时间并没有考虑到本地时间和格林尼治时间的差,这样在中国时间就差了8个小时,所以对它进行了一些改造。
type
time_t = Int64;
function DateTimeToUnix(ConvDate: TDateTime): time_t;
var
zi : TTimeZoneInformation;
begin
GetTimeZoneInformation(zi);
Result := Round((ConvDate - UnixDateDelta) * 86400) + 60*(zi.Bias + zi.DaylightBias);
end;
function UnixToDateTime(USec: time_t): TDateTime;
var
zi : TTimeZoneInformation;
begin
GetTimeZoneInformation(zi);
Result := ((USec - 60*zi.Bias) / 86400) + UnixDateDelta;
end;
通过上面的函数,就可以解决这样的问题。
相关阅读 >>
Delphi 调试ios时出现 please specify exact device preset uuid
Delphi 打造mygetprocaddress函数(Delphi源码)
更多相关阅读请进入《Delphi》频道 >>