пример повышения добавить месяц
28/02/2009 + 1 месяц = 31.03.2009
#include <boost/date_time/gregorian/gregorian_types.hpp>
#include <boost/date_time/gregorian/formatters.hpp>
#include <iostream>
using namespace boost::gregorian;
using namespace std;
int main()
{
typedef boost::date_time::month_functor<date> add_month;
date d(2019, Feb, 28);
add_month mf(1);
date d2 = d + mf.get_offset(d);
cout << to_simple_string(d2) << endl;//output:2019-Mar-31
}
Выходные данные - 2019-март-31, а не 2019-март-28. Что является теоретической основой для такого поведения? Разговор об этом выводит 2019-март-28 как в C #, так и в delphi для аналогичного кода добавления месяца.