2011-02-16 99 views
3

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

回答

3

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

(但RRUZ答案应该可以工作,并且意味着您不必重新发明轮子)。

+1

如果您使用的是不包含DateUtils单元的Delphi版本,则需要使用此功能。你描述的算法正是UnixToDateTime所做的;你引用的TDateTime值是25569. – 2011-02-16 04:59:05