在Delphi XE应用程序中,我正在从最初由C ++程序创建的数据库中读取值。有一个日期列,存储(它将显示)为time_t,即Unix时间,自UTC时间00:00,1970年1月1日以来的秒数。我可以处理时区,但是如何从(长)time_t获得TDateTime?
答案 0 :(得分:11)
尝试使用属于Dateutils单元的unixtodatetime函数:http://docwiki.embarcadero.com/VCL/en/DateUtils.UnixToDateTime
答案 1 :(得分:3)
如果你想出于某种原因自己做,显而易见的方法是将time_t除以一天中的秒数,然后将其添加到1970年1月1日00:00的TDateTime。
(但RRUZ答案应该有效,意味着你不必重新发明轮子。)