使用时间时出现奇怪行为(空)
Strange behavior when using time(NULL)
我正在使用
time_t t = time(NULL);
获取自 1.1.1970 以来的秒数。
在两台单独的机器上,我得到两个不同的值,在一台机器上我得到1,419,120,000
在另一台机器上我得到7,812,616,799,348,535,896
.
重要的是要说,两台机器上的值都很好,但突然停止工作。 其他机器长时间运行相同的代码而没有任何问题。
此外,该项目编译为32位项目,而该项目在SQL Server 2008 64位操作系统上运行。
有什么建议吗?
提前谢谢。
未指定 std::time
的返回值:
未指定
std::time_t
日历时间的编码,但大多数系统符合 POSIX 规范并返回一个整数类型的值,其中包含自纪元以来的秒数。std::time_t 是 32 位有符号整数的实现(许多历史实现)在 2038 年失败。
看起来您的一个系统给出了您期望的 POSIX 版本提供的内容,而另一个系统......不?
请注意,std::time_t
本身也是未指定的:
typedef /* unspecified */ time_t;
虽然没有定义,但这几乎总是一个整数值,用于保存自 1970 年 1 月 1 日 00:00 UTC 以来的秒数(不包括闰秒),对应于 POSIX 时间。
根据 std::time() 的参考
:std::time_t 中日历时间的编码未指定,但大多数 系统符合 POSIX 规范并返回积分值 类型保存自纪元以来的秒数。中的实现 其中 std::time_t 是一个 32 位有符号整数(许多历史 实施)在 2038 年失败。
因此,时间的返回值似乎不能保证为"自 1.1.1970 以来的秒数"。
看起来问题是由 Windows 许可问题引起的,我们不得不在 30 天后激活它,我们确实续订了许可证,但重新启动我们的服务没有帮助,但是当我重新安装我们的应用程序时,我开始工作。
问候帕维尔。
- C++为构建时间获取QDateTime的可靠方法
- 从持续时间构造std::chrono::system_clock::time_point
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 使用简单类型列表实现的指数编译时间.为什么
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- 在已经使用Git的情况下减少编译时间
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 从文本文件中读取时钟时间和事件时间并进行处理
- 具有未知值时的时间复杂性
- 如何减少花费的时间
- C++在变量给定的指定时间内关闭电脑
- rcpp函数中的清理时间很长
- C++:floor unix时间戳到UTC月份
- 如何在c++中录制具有精确帧时间戳的视频
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- KMP算法和LPS表构造的运行时间
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 使用Boost Interprocess创建托管共享内存需要很长时间