使用Boost版本1.47,引入了Chrono库。 Boost.Chrono是否意味着替代Boost.Date_Time?
如果没有,它们之间有什么区别,我应该何时使用哪个?
我应该何时考虑在现有项目中用Boost.Chrono替换Boost.Date_Time?
答案 0 :(得分:40)
来自Boost.Chrono的文档:
Boost.Chrono旨在实现C ++ 0x中的新时间设施,如N2661 - 睡眠基础的建议。该文档提供了关键设计决策的背景和动机,并且是本文档中大量信息的来源。
更具体地说,Boost.DateTime是关于日期和时间的。它具有许多功能,可根据区域设置和各种其他内容格式化显示日期。但是也有获取日期和时间以及操作它们的功能。
Boost.Chrono似乎专注于处理时间间隔。它没有高于“小时”的测量值,它根本没有日期概念。事实上,时刻只是作为特定时刻的抵消(自进程开始以来的时间,自1970年1月1日以来的固定“时代”以来的时间等)支持。
尽管存在一些重叠,但这两者似乎是互补的,而非竞争。有很多日期时间,Chrono没有,并且Chrono有一些事情,DateTime没有。遗憾的是,两者之间似乎没有任何互操作,因此必须将Chrono的持续时间手动转换为DateType的等效值。