这就是两天前"""使用boost::date
:
boost::gregorian::date today = boost::gregorian::day_clock::local_day();
boost::date_time::day_functor<boost::gregorian::date> day_offset(-2);
boost::gregorian::date modified = today + day_offset.get_offset(today);
如何计算代表&#34;上周一&#34;?
的日期答案 0 :(得分:3)
using namespace boost::gregorian;
auto last_monday = previous_weekday(today-days(1), greg_weekday(Monday));
编辑已添加-days(1)
以避免返回作为参数提供的日期,因为“上周一”可能永远不会在星期一表示“今天”(请参阅docs )。这也是完成“N天前”起点的较短方式。