在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::ptime
。local_time::local_date_time
为此添加了时区识别(例如,正确设置夏令时)
小知识顺便说一下,这个数也是27的平方数和9的立方数,并且作为这些性质的结果,它是一个完全整数,一个中心八角形数和一个史密斯数。不是四个连续素数的和