我想解析由 4 位数年份和年份中的周数组成的字符串。我遵循了 boost date/time IO 教程,生成了一个像这样的测试示例:
std::string week_format = "%Y-W%W";
boost::date_time::date_input_facet<boost::gregorian::date, char> week_facet = boost::date_time::date_input_facet<boost::gregorian::date, char>(week_format);
std::stringstream input_ss;
input_ss.imbue(locale(input_ss.getloc(), &week_facet));
std::string input_week = "2004-W34";
input_ss.str(input_week);
boost::gregorian::date input_date;
input_ss >> input_date;
不幸的是,input_date
只是打印为“2004-01-01”,这意味着它只是解析了年份。我究竟做错了什么?%W
输入时不可用?(文档没有这样标记。)