4

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

4

2 回答 2

12

尝试使用作为 Dateutils 单元一部分的 unixtodatetime 函数:http: //docwiki.embarcadero.com/VCL/en/DateUtils.UnixToDateTime

于 2011-02-16T03:41:42.837 回答
3

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

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

于 2011-02-16T04:42:10.713 回答