【问题标题】:Convert long int seconds to double precision floating-point value将 long int 秒转换为双精度浮点值
【发布时间】:2025-12-01 22:50:01
【问题描述】:

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

long int seconds = 1231241242144214;

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

如何转换?

【问题讨论】:

  • 多么糟糕的表现。它应该是一个长整数。转换时不能保证保持精度。

标签: c++ date datetime time converter


【解决方案1】:

一天中有86400 秒,而这些时期之间有25569 天。所以答案是:

double DelphiDateTime = (UnixTime / 86400.0) + 25569;

您确实需要将 Unix 时间存储在一个整数变量中。

【讨论】:

  • @Baum Yah,我也意识到了这一点。我太习惯用 Delphi 编码了!谢谢。
最近更新 更多