c++ - Boost.Chrono 与 Boost.Date_Time

标签 c++ boost

在 Boost 1.47 版中,引入了 Chrono 库。 Boost.Chrono 是否意味着替代 Boost.Date_Time?

如果不是,它们之间有什么区别,我应该什么时候使用?

我应该何时考虑在现有项目中将 Boost.Date_Time 替换为 Boost.Chrono?

最佳答案

来自 Boost.Chrono 的 documentation :

Boost.Chrono aims to implement the new time facilities in C++0x, as proposed in N2661 - A Foundation to Sleep On. That document provides background and motivation for key design decisions and is the source of a good deal of information in this documentation.

更具体地说,Boost.DateTime 是关于日期和时间的。它有很多功能可以根据语言环境和其他各种内容格式化日期以进行显示。但也有获取日期和时间以及对其进行操作的函数。

Boost.Chrono 似乎专注于处理时间间隔。它没有比“小时”更高的度量单位,也根本没有日期的概念。实际上,时间点仅支持作为特定时间点的偏移量(自流程开始以来的时间、自固定“纪元”(如 1970 年 1 月 1 日)以来的时间等)。

两者似乎是互补的,而不是竞争的,尽管有一些重叠。 DateTime 做了很多 Chrono 没有做的事情,而 Chrono 做了一些 DateTime 没有做的事情。可悲的是,两者之间似乎没有任何互操作性,因此必须将 Chrono 的持续时间手动转换为 DateType 的等价物。

关于c++ - Boost.Chrono 与 Boost.Date_Time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730422/

相关文章:

c++ - 混合 C 和 C++、原始指针和( boost )共享指针

c++ - 如何将 fusion 容器大小限制扩展到 50 以上?

c++ - 用于 gcc-arm 工具链的 Boost C++ 库

c++ - 如何获取相对于运行时索引的类型?

c++ - 带有可选参数的 boost 函数

c++ - 为什么我的 C++ 程序使用的系统时间多于运行时间?

c++ - 为什么 std::shuffle 和 std::sort 一样慢(甚至慢)?

visual-c++ - 使用自定义 ICU 构建和使用 Boost for Windows Visual Studio

c++ - 使用Qt从以太网端口读取数据

c++ - 如何将系统音量级别作为从 0 到 100 的标量?