将 long int 秒转换为双精度浮点值
Convert long int seconds to double precision floating-point value
我有一个 long int 变量,它包含自 1970 年 1 月 1 日以来的秒数,格式如下:
long int seconds = 1231241242144214;
我需要将这秒数转换为双精度浮点值。该值的整数部分是自 1899 年 12 月 30 日午夜以来的天数。
该值的小数部分表示时间。 .5 等于 12:00 下午。
如何转换?
一天有 86400
秒,这些纪元之间有 25569
天。所以答案是:
double DelphiDateTime = (UnixTime / 86400.0) + 25569;
不过,您确实需要将 Unix 时间存储在整数变量中。
我有一个 long int 变量,它包含自 1970 年 1 月 1 日以来的秒数,格式如下:
long int seconds = 1231241242144214;
我需要将这秒数转换为双精度浮点值。该值的整数部分是自 1899 年 12 月 30 日午夜以来的天数。 该值的小数部分表示时间。 .5 等于 12:00 下午。
如何转换?
一天有 86400
秒,这些纪元之间有 25569
天。所以答案是:
double DelphiDateTime = (UnixTime / 86400.0) + 25569;
不过,您确实需要将 Unix 时间存储在整数变量中。