Я пытаюсь преобразовать std :: string
в boost :: gregorian :: date
вот так:
using namespace boost::gregorian;
std::string str = "1 Mar 2012";
std::stringstream ss(str);
date_input_facet *df = new date_input_facet("%e %b %Y");
ss.imbue(std::locale(ss.getloc(), df));
date d;
ss >> d; //conversion fails to not-a-date-time
std::cout << "'" << d << "'" << std::endl; //'not-a-date-time'
Но если строка содержит «01 марта 2012 г.», преобразование выполнено успешно.
Как преобразовать такие строки, как «1 марта 2012», в эквивалентную boost :: gregorian :: date
?