将时间(NULL)转换为本地时间的 C++ 函数

标签 c++ function time

在 C++ 中,我正在编写一个函数,将时间 (NULL)(即自 1970 年 1 月 1 日以来 UTC 时间的所有秒数)转换为军用时间格式(小时:分钟:秒)的本地时间 EST。老实说,我不知道如何从数学上做到这一点,以便程序随着时间的推移保持准确。

我也很清楚有一个本地时间函数,但我想从头开始构建这个函数。有没有人有任何建议或提示?

最佳答案

Also I'm well aware that there is a local time function but I'd like to build this function from the ground up. Does anyone have any advice or tips?

既然有大量免费且经过良好测试的软件包,您为什么要这样做?正如评论中提到的,让夏令时正确是非常重要的。基于 IANA tzinfo 数据库,现有的软件包正是这样做的,而且他们做得很好。

C 选项:

  • std::localtime() .这个函数使用了一个全局变量;它不是线程安全的。

  • localtime_r() .这是一个 POSIX 函数,不是 C++ 库的一部分。它在 Windows 上不存在。

  • localtime_s() .这是一个可选的 C11 函数。即使它存在于您的机器上,它也可能不是 <ctime> 的一部分。 .

C++ 选项:

关于将时间(NULL)转换为本地时间的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044502/

相关文章:

javascript - CSV 到 JSON 转换

ruby-on-rails-3 - 从 Rails 日期时间对象中减去 N 分钟

c++ - 我可以使用 Boost.Asio 和 Boost.Beast 库发出 HTTPS 请求或 HTTP/2 请求吗?

c++ - 为什么 Cplex 提供了一个松弛约束的解决方案?

android - 在 Android NDK 中使用 STD 和异常

python - 在系数之间添加乘号(*)

来自数组的 Javascript 函数

c++ - 错误: ‘void*’ is not a pointer-to-object type

python - 计算 python 程序的 CPU 时间?

javascript - 有没有一种优雅的方式来实现时钟更新事件?