如何使用boost::date_time获取两个日期之间的天数



在boost::date_time中是否有可用的api来获取两个日期之间的天数,这也是日历特定的?

示例,在7天日历中,2005/01/01到2006/12/31之间的天数为730天,在5天日历中为504天。

Yup: posix_time to rescue

Live On Coliru

#include <boost/date_time/gregorian/greg_date.hpp>
#include <iostream>
int main() {
    using boost::gregorian::date;
    date a { 2005, 1, 1 }, b { 2006, 12, 31 };
    std::cout << (b-a).days() << "n";
}

打印

729 <一口>[1]

如果要使用公历日期+一天中的时间(hh:mm:ss.fffffff),则使用posix_time::ptimelocal_time::local_date_time为此添加了时区识别(例如,正确设置夏令时)


小知识顺便说一下,这个数也是27的平方数和9的立方数,并且作为这些性质的结果,它是一个完全整数,一个中心八角形数和一个史密斯数。不是四个连续素数的和

相关内容

  • 没有找到相关文章

最新更新