У меня есть 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;
Я получаю 1 марта, и если я пытаюсь:
ptime pp = p - days(30);
Я все еще получаю 1 марта, в то время как я хотел бы получить 28 февраля.
Как я могу достичь желаемого результата? (Я хотел бы получить желаемый результат также при вычитании месяца из 28, 29, 30 марта)