c++ - 如何为 1970 年 1 月 1 日 00:00:00 创建 std::chrono::time_point?

标签 c++ time c++-chrono

是否有一种可移植的符合标准的方法来为 1970 年 1 月 1 日 00:00:00 创建 std::chrono::time_point?这必须是线程安全的。因此,解决方案应避免像 std::gmtime()std::localtime() 这样没有线程安全保证的函数。

这不是 Convert std::chrono::time_point to unix timestamp 的拷贝因为我需要一个线程安全可移植解决方案。那里的问题也没有要求,答案也没有提供这种保证。

最佳答案

在实践中,std::chrono::system_clock::from_time_t(0) 将返回您想要的值。

原则上,我看不出你想要什么。

作为替代方案,在多个线程开始运行之前计算一次该值(在启动时)。

关于c++ - 如何为 1970 年 1 月 1 日 00:00:00 创建 std::chrono::time_point?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421944/

相关文章:

javascript - 用于时间跟踪的正则表达式验证

c++ - std::chrono::duration_cast count() 返回零

c++ - 使用 std::chrono 在 C++ 中实现一致的时间戳

c++ - 如何用当前年份填充 chrono::year?

c++ - 键入以存储高度精确的小数 < 1

javascript - 在JavaScript中,如何在特定时间运行函数?

c++ - 为什么一个 const Class& 可以被初始化为自身?

linux - 查看CPU在用户态、sys态和实态下的总耗时

c++ - 我如何使用 intel 编译器和 intel mpi 安装 boost?

c++ - 在 C++ 中使用全局变量练习