库 Boost.DateTime 可用于处理时间数据,例如日历日期和时间。此外,Boost.DateTime 提供扩展以考虑时区,并支持日历日期和时间的格式化输入和输出。如果您正在寻找获取当前时间或测量时间的函数,请参阅第 37 章中的 Boost.Chrono。本篇将涉及四个系列内容:
Boost.DateTime 仅支持基于公历的日历日期,这通常不是问题,因为这是使用最广泛的日历。如果您安排在 2014 年 5 月 12 日与某人会面,则无需说明该日期是基于公历的。
公历由教皇格里高利十三世于 1582 年引入。Boost.DateTime 支持 1400 年到 9999 年的日历日期,这意味着支持可以追溯到 1582 年之前。因此,您可以将 Boost.DateTime 用于1400 年,只要该日期转换为公历。要处理较早的日期,Boost.DateTime 必须通过新日历进行扩展。
头文件 boost/date_time/gregorian/gregorian.hpp 包含处理日历日期的所有类和函数的定义。这些函数和类可以在命名空间 boost::gregorian 中找到。要创建日期,请使用类 boost::gregorian::date。
例 36.1。使用 boost::gregorian::date 创建日期
- #include <boost/date_time/gregorian/gregorian.hpp>
- #include <iostream&