将C ++ time_t转换为Delphi TDateTime

时间:2011-02-16 03:29:40

标签: c++ delphi time-t

在Delphi XE应用程序中,我正在从最初由C ++程序创建的数据库中读取值。有一个日期列,存储(它将显示)为time_t,即Unix时间,自UTC时间00:00,1970年1月1日以来的秒数。我可以处理时区,但是如何从(长)time_t获得TDateTime?

2 个答案:

答案 0 :(得分:11)

尝试使用属于Dateutils单元的unixtodatetime函数:http://docwiki.embarcadero.com/VCL/en/DateUtils.UnixToDateTime

答案 1 :(得分:3)

如果你想出于某种原因自己做,显而易见的方法是将time_t除以一天中的秒数,然后将其添加到1970年1月1日00:00的TDateTime。

(但RRUZ答案应该有效,意味着你不必重新发明轮子。)