【发布时间】:2013-06-22 05:40:43
【问题描述】:
我正在使用 Microsoft Visual Studio 2012,并且正在考虑使用 std::put_time,因此我创建了以下示例:
int main()
{
std::time_t t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::locale::global( std::locale("en-GB") );
std::cout << std::put_time( std::localtime( &t ), "%x" ) << std::endl;
}
这会产生以下输出:
06/25/2013
这不是我期望的 en-GB 语言环境的日期格式。我也试过了:
std::cout.imbue( std::locale("en-GB") );
但是,同样的输出。这是我应该为这个语言环境获得的输出,还是我在某个地方犯了错误?
【问题讨论】:
-
那肯定是错的。
-
@R.MartinhoFernandes 你知道这是否已被归档在微软的错误数据库中吗?
标签: c++ visual-studio-2012 c++11 locale standard-library