MSVCs Implementation of std::put_time
MSVCs Implementation of std::put_time
我正在使用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") );
但是,同样的输出。这是我应该得到的这个区域设置的输出,还是我在某个地方犯了错误?
按预期工作。std::put_time
在流的区域设置之外工作,而不是全局区域设置。在输入main
之前,将创建cout
,并将其融入当前的全局语言环境。后续对全局区域设置的更改不会影响它。您需要显式地imbue()
它。
相关文章:
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 为什么我会收到"Run-Time Check Failure #2 - Stack around the variable 'pr' was corrupted"错误?
- Poco 库 PUT 方法未按预期工作,尽管主机、方法、内容类型设置正确
- 解析某些行的文本和输出"time of appearance"
- 提升::p Roperty_tree put 使用C++
- 返回time()库函数的数据类型
- 如何将 time-uuid(存储在 boost uuid 中)转换为时间戳/自纪元以来的时间?
- 如何将 PUT 卷曲映射到 CPP 卷曲?
- 如何在VS2019中创建C++中的HTTP PUT请求?
- 如何从 boost::p osix_time::p time 获取秒数
- 调用 dll 函数时"Run-Time Check Failure #0 - The value of ESP"
- C++ SRAND(time(0)) 在猜谜游戏中不起作用
- 即使包含 <time.h 后仍"‘CLOCK_PER_SEC’ was not declared in this scope"错误>
- struct TM time;vs TM time = {}.输出相同但不相同?
- 使用 Windows 寄存器查找下一个"Daylight Saving Time"
- c++ get millsecond time
- 使用 HTTP 方法 POST 或 PUT 上传数据
- "Feature X requires run-time support"的含义是什么?
- 如何传递以 "size determined at run time" 作为引用的动态分配数组?
- constexpr - "Evaluate value at compile time"到底是什么意思?