Boost 文档说明如下:“内部 boost::gregorian::date 存储为 32 位整数类型。” . 我从链接中找到了这个:http: //www.boost.org/doc/libs/1_56_0/doc/html/date_time/gregorian.html。
这个 32 位整数是如何计算的?它是自纪元以来的天数(就像 Joda 在 Java 中所做的那样)?
Boost 文档说明如下:“内部 boost::gregorian::date 存储为 32 位整数类型。” . 我从链接中找到了这个:http: //www.boost.org/doc/libs/1_56_0/doc/html/date_time/gregorian.html。
这个 32 位整数是如何计算的?它是自纪元以来的天数(就像 Joda 在 Java 中所做的那样)?
从文档中,当前实现支持 1400-Jan-01 到 9999-Dec-31 范围内的日期
分析代码,boost::gregorian::date 类将日期存储为一个名为 days_ 的 uint32_t 整数。对于 1400-Jan-01,此整数的此值为 2232400。日期递增一天表示此整数递增一个单位。因此,只需减去它们的整数,就可以计算出两个日期之间的天数差。