可以在以后调用system_clock :: now()过去的时间吗?

时间:2015-12-18 23:59:17

标签: c++ c++11 chrono

以后可以调用system_clock :: now()过去吗?例如,因为夏令时?

如何调用system_clock :: now()。time_since_epoch()?或者保证总是返回以后及以后的时间点?即使没有保证,所有实施都是在实践中以某种方式进行(如果是,如何)?

1 个答案:

答案 0 :(得分:2)

std::chrono同时提供system_clocksteady_clock用于通用时间跟踪。

system_clock类将完全依赖于平台,因此如果用户要更改系统时间(或NTP等),它显然会将您发送到过去/未来。用户更改时区不会影响您,只要您不使用当地时间。

另一方面,

steady_clock是完全一致的(尽管VS2013错误地实现了它,它的行为就像system_clock,遗憾的是)

因此,如果您需要知道绝对时间而不仅仅是时间的推移,我建议您在启动时从system_clock获取值,并从此时起使用steady_clock