【发布时间】:2010-03-21 15:14:57
【问题描述】:
我有一个boost::posix_time::ptime 指向March 31st 2010,如下所示:
ptime p(date(2010, Mar, 31));
我想从这个日期减去一个月(可能还有几年)。从文档中,我看到了这两个运算符:ptime operator-(time_duration) 和 ptime operator-(days),但它们都不能使用数月/数年。如果我尝试这样做:
time_duration duration = hours(24 * 30);
ptime pp = p - duration;
我将在 3 月 1 日到达,如果我正在尝试:
ptime pp = p - days(30);
我仍然希望获得 3 月 1 日,而我希望获得 2 月 28 日。
我怎样才能达到我想要的结果? (从 3 月 28 日、29 日、30 日减去一个月,我也想得到想要的结果)
【问题讨论】: