Delphi XE5实现DateTimeToUnix/UnixToDateTime的一点小改进


本文整理自网络,侵删。

 介绍

本文章介绍了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 获取其他进程句柄的几种方法

Delphi控件adsl拨号和断开

Delphi streamtohexstr

Delphi 7中ado控件打开access数据库文件

Delphi allocmem

Delphi取cpu利用率

Delphi函数定时

Delphi 如何判断某一窗口最大化

Delphi f1026 file not found: ''quickrpt.dcu''解决方法

Delphi版雪花算法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...