将长整数秒转换为双精度浮点值

Convert long int seconds to double precision floating-point value

本文关键字:双精度 长整数 转换      更新时间:2023-10-16

>我有一个长 int 变量,其中包含自 1970 年 1 月 1 日以来的秒数,格式如下:

long int seconds = 1231241242144214;

我需要将此秒转换为双精度浮点值。该值的整数部分是自 1899 年 12 月 30 日午夜以来的天数。值的小数部分表示时间。.5 等于中午 12:00。

如何转换?

一天有 86400 秒,这些纪元之间有 25569 天。所以答案是:

double DelphiDateTime = (UnixTime / 86400.0) + 25569;

不过,您确实需要将Unix时间存储在整数变量中。