我正在使用steady_clock
来保存一些消息的时间戳。出于调试目的,拥有日历(或类似的东西)很有用。
对于其他时钟,有静态功能to_time_t
,但在 GCC (MinGW 4.8.0) 上不存在此功能。
现在我打印如下内容:
Timestamp: 26735259098242
对于时间戳,我需要一个 stable_clock,所以我不能使用system_clock
或其他人。
编辑
以前的打印是从time_since_epoch().count
()中给出的
假设您需要稳定的行为来进行内部计算,而不是显示,这里有一个函数可以用来转换time_t
为显示。
using std::chrono::steady_clock;
using std::chrono::system_clock;
time_t steady_clock_to_time_t( steady_clock::time_point t )
{
return system_clock::to_time_t(system_clock::now()
+ (t - steady_clock::now()));
}
如果您需要稳定的日志记录行为,您希望( system_clock::now(), steady_clock::now() )
在启动时获得一对并在之后永远使用它。