boost :: gregorian :: date在内部如何存储日期?

时间:2016-06-23 20:29:32

标签: c++ boost gregorian-calendar boost-date-time

Boost文档说明如下:“内部boost :: gregorian :: date存储为32位整数类型。” 。我从链接中找到了这个:http://www.boost.org/doc/libs/1_56_0/doc/html/date_time/gregorian.html

如何计算这个32位整数?它是自纪元以来的天数(就像Joda在Java中所做的那样)?

1 个答案:

答案 0 :(得分:1)

documentation,当前实施支持1400-Jan-01至9999-Dec-31范围内的日期

分析代码时,类boost :: gregorian :: date将日期存储为名为days_的uint32_t整数。对于1400-Jan-01,此整数的此值为2232400.将日期增加一天表示此整数递增一个单位。因此,两个日期之间的天数差异可以通过减去它们的整数来计算。