将长整数秒转换为双精度浮点值
Convert long int seconds to double precision floating-point value
>我有一个长 int 变量,其中包含自 1970 年 1 月 1 日以来的秒数,格式如下:
long int seconds = 1231241242144214;
我需要将此秒转换为双精度浮点值。该值的整数部分是自 1899 年 12 月 30 日午夜以来的天数。值的小数部分表示时间。.5 等于中午 12:00。
如何转换?
一天有 86400
秒,这些纪元之间有 25569
天。所以答案是:
double DelphiDateTime = (UnixTime / 86400.0) + 25569;
不过,您确实需要将Unix时间存储在整数变量中。
相关文章:
- 我可以信任表示整数的浮点或双精度来保持精度吗
- C++长双大"safe"整数
- C 字符串返回字符串的整数/双精度/长整型值
- 长双精度C++是IEEE二进制128的实现吗?
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 如何防止双精度值到整数的隐式转换
- 从字符串转换为双精度和整数 - C++
- 用双精度除以整数
- 使用整数初始化列表初始化长双精度的向量
- 将双精度与整数进行比较
- 不确定输出双精度或整数的代码行
- 函数双精度,整数如何工作?C++
- 表达式中应用的转换(双精度为整数)
- 小数、双精度、整数等数据类型的范围
- C++11 中的"auto var = {condition} ? 1 : 1.0"是什么类型?是双精度还是整数?
- 在所有声明的双精度但整数结果中打印带有函数的圆的面积,为什么
- 比较双精度和整数,不进行转换或转换
- Visual C++-将双精度和整数写入二进制文件
- 双精度乘以整数精度
- 将长整数秒转换为双精度浮点值