以后可以调用system_clock :: now()过去吗?例如,因为夏令时?
如何调用system_clock :: now()。time_since_epoch()?或者保证总是返回以后及以后的时间点?即使没有保证,所有实施都是在实践中以某种方式进行(如果是,如何)?
答案 0 :(得分:2)
std::chrono
同时提供system_clock
和steady_clock
用于通用时间跟踪。
system_clock
类将完全依赖于平台,因此如果用户要更改系统时间(或NTP等),它显然会将您发送到过去/未来。用户更改时区不会影响您,只要您不使用当地时间。
steady_clock
是完全一致的(尽管VS2013错误地实现了它,它的行为就像system_clock
,遗憾的是)
因此,如果您需要知道绝对时间而不仅仅是时间的推移,我建议您在启动时从system_clock
获取值,并从此时起使用steady_clock
。