![](/img/trans.png)
[英]Is there a builtin alternative to std::put_time for GCC <5?
[英]std::put_time implementation status in GCC?
我试图使用GCC(测试版本4.5.1,4.6.3,4.8.4)编译此示例程序 :
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
using std::chrono::system_clock;
int main()
{
system_clock::time_point now = system_clock::now();
std::time_t now_c = system_clock::to_time_t(
now - std::chrono::hours(24));
std::cout << "One day ago, the time was "
<< std::put_time(std::localtime(&now_c), "%F %T") << '\n';
}
prog.cpp: In function 'int main()':
prog.cpp:14:18: error: 'put_time' is not a member of 'std'
我想,可能还没有实现。 所以我试着检查这个功能的实现状态。 我只找到了这个页面:
但我找不到任何音符put_time
或chrono
或一致好评。 任何人都可以指向我提供有关此库的实施状态的信息的资源吗?
有关gcc 4.8.0的信息,请参阅TODO扩展iomanip操纵器std :: get_time和std :: put_time。
另请参阅Cross Platform获取时间的方法? 声称没有在4.7.0中实现。
更新:正如gcc开发人员Jonathan Wakely在下面证实的那样:gcc 4.9中仍然缺少std::get_time
和std::put_time
操纵器。
更新: Jonathan Wakely 于 2014年12月22日关闭此门票:
适用于GCC 5
谢谢simonwo让我知道它。
您可能已经注意到您提供的链接未列出库的任何部分! 但在表格下面说:
可以在此表中跟踪库实现的状态
该表指出std::get_time
和std::put_time
操纵器尚未实现。
编辑: put_time
现在在GCC开发主干上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.