Boost.Chrono vs. Boost.Date_Time

Boost.Chrono vs. Boost.Date_Time

本文关键字:Boost Time vs Chrono Date      更新时间:2023-10-16

在Boost 1.47版本中,引入了Chrono库。是提高。Chrono意味着取代Boost.Date_Time?

如果没有,它们之间的区别是什么,我应该在什么时候使用哪个?

何时应该考虑替换Boost。Date_Time by Boost。现有项目中的Chrono ?

From Boost。空间的文档:

提振。Chrono的目标是在c++ 0x中实现新的时间工具,正如N2661 - A Foundation to Sleep On中提出的那样。该文档为关键设计决策提供了背景和动机,并且是本文档中大量信息的来源。

更具体地说,Boost。DateTime是关于日期和时间的。它有很多功能来格式化日期,以便根据地区和其他各种东西显示。但是也有获取日期和时间的功能,以及对它们进行操作。

提振。Chrono似乎专注于处理时间间隔。它没有高于"小时"的度量,也根本没有日期的概念。事实上,时间中的时刻只支持作为对特定时刻的偏移量(从过程开始的时间,从固定的"时代"开始的时间)。如1970年1月1日等)。

这两者似乎是互补的,而不是竞争的,尽管有一些重叠。DateTime有很多功能是Chrono没有的,而Chrono有很多功能是DateTime没有的。遗憾的是,两者之间似乎没有任何互操作,因此必须手动将Chrono的持续时间转换为DateType的等效时间。