Boost имеет несколько функций, конвертирующих в другие форматы строк, описанные здесь , но конвертация в необходимый формат mm/dd/yyyy
отсутствует.В настоящее время я делаю это следующим образом:
std::string dateAsMMDDYYYY( const boost::gregorian::date& date )
{
std::string yyyymmdd = boost::gregorian::to_iso_string( date );
std::string ret = yyyymmdd.substr(4,2) + "/" + yyyymmdd.substr(6,2) + "/" + yyyymmdd.substr(0,4);
return ret;
}
, то есть просто вырезаем числа из значения, возвращенного to_iso_string()
.Это кажется очень грубым, и я ищу более элегантный способ выполнить это преобразование.Также мне нужен совет о том, как выполнить обратное преобразование (т.е. из строки 'mm / dd / yyyy' в boost :: gregorian :: date)
Любая помощь приветствуется.Заранее спасибо.