我正在尝试计算两个boost :: gregorian日期之间的时间。目前我只是将这两个日期区分开来,给我一个date_duration来处理:
boost::gregorian::date rhs(2000, 1, 1);
boost::gregorian::date lhs(2005, 6, 15);
boost::gregorian::date_duration dd = lhs - rhs;
boost::gregorian::days daysOld(dd);
boost::gregorian::months monthsOld(...) // This is where I'm stumped
boost::gregorian::years yearsOld(...)
boost :: gregorian :: days ctor可以使用date_duration,但我无法找到一种方法来创建date_duration中几个月和几年的类似表示。从我所看到和看到的情况来看,似乎date_duration只包含两个日期之间的天数。我所希望的是它会给我非正常化的成员多年,几个月和几天。例如,对于上述日期,我希望date_duration包含类似years = 5
,months = 65
和days = 1992
的字段,其中每个字段代表使用该特定时间的总时间量粒度。就目前而言,似乎只有一种方法可以在日期之间的几天内访问date_duration(通过调用dd.days()
)。我错过了什么吗?有没有办法使用boost :: gregorian或其他日期/时间库之一来完成这个?
由于