2
文字列形式でboost :: gregorian :: dateオブジェクトを作成しようとするコードがありますが、文字列が表示されていてもグレゴリオン:: not_a_date_time大丈夫です。私は私が返さnot_a_date_timeを得る文字列からブースト日付を作成する際に問題が発生する
boost::gregorian::date d = getDateFromString("20161101","%Y%m%d") ;
を呼んでこれをテストするために
boost::gregorian::date getDateFromString(std::string date_str, std::string format) const
{
const std::locale loc = std::locale(std::locale::classic(), new boost::gregorian::date_facet(format.c_str()));
std::istringstream is(date_str) ;
is.imbue(loc);
boost::gregorian::date d;
is >> d;
return d;
}
;: 私のコードは次のようになります 代わりに次のようにしてください:
boost::gregorian::date d2 = boost::gregorian::date_from_iso_string("20161101");
私は適切な日付オブジェクトを返します。 さまざまな日付形式を取ることができる汎用関数が必要です。私はここで間違って何をしていますか?