【问题标题】:How date is stored internally by boost::gregorian::date?boost::gregorian::date 如何在内部存储日期?
【发布时间】:2016-10-26 08:33:18
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    documentation 开始,当前实现支持 1400-Jan-01 到 9999-Dec-31 范围内的日期

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      相关资源
      最近更新 更多