Boost::locale::as日期格式标志无效
下面是代码片段Boost::locale::as日期格式标志无效,boost,format,locale,flags,Boost,Format,Locale,Flags,下面是代码片段 std::wstring aResult; boost::locale::generator gen; std::locale::global(gen("")); std::wostringstream output; output.imbue(std::locale()); boost::locale::date_time aTime(x); output << boost::locale::as::date_short << aTime; a
std::wstring aResult;
boost::locale::generator gen;
std::locale::global(gen(""));
std::wostringstream output;
output.imbue(std::locale());
boost::locale::date_time aTime(x);
output << boost::locale::as::date_short << aTime;
aResult = output.str();
std::wstring是结果;
boost::locale::gen生成器;
std::locale::global(gen(“”);
std::wostringstream输出;
imbue(std::locale());
boost::locale::date\u time(x);
输出它可能表示您的系统没有/不完整的区域设置定义
例如,该计划:
#include <boost/locale.hpp>
#include <string>
int main()
{
std::wstring aResult;
boost::locale::generator gen;
std::locale::global(gen("C"));
std::wcout.imbue(std::locale());
boost::locale::date_time aTime;
std::wcout << std::endl << boost::locale::as::date_full << aTime;
std::wcout << std::endl << boost::locale::as::date_short << aTime;
std::wcout << std::endl << boost::locale::as::date_medium << aTime;
}
但是(在Debian上运行)相同的代码打印:
Thu Jun 5 13:07:04 2014
Thu Jun 5 13:07:04 2014
Thu Jun 5 13:07:04 2014
这解释了很多!谢谢据报道,Mac OS上的区域设置存在一些bug。因此,我们将为这些员工使用碳库。
Thu Jun 5 13:07:04 2014
Thu Jun 5 13:07:04 2014
Thu Jun 5 13:07:04 2014