我只是回到过去

时间:2018-07-18 12:39:36

标签: ruby time clock cpu-architecture

我过去14秒钟(在我的IRB控制台中使用Ruby)。我只是想了解到底发生了什么。

我只是通过几乎每秒钟对其进行评估来观察Time.now.strftime('%F %T')的返回值(返回格式化为“ YYYY-MM-DD HH:MM:SS”的字符串)。 但是后来,这发生了:

weird back in time

时间从“ 2018-07-18 14:25:25”跳到“ 2018-07-18 14:25:11” ...没有上下文,没有Timecop(允许时光倒流的Ruby库) ,只有Ruby和Time(用于管理时间的Ruby核心库)。

这里会发生什么?这会再次发生吗?

1 个答案:

答案 0 :(得分:6)

您的操作系统很可能只是与NTP服务器同步,并且实际上是“物理地”推迟其时钟。您很幸运能赶上表演。

  

这又会发生[..]吗?

是的,类似的事情随时可能发生。 Falsehood #33 that programmers believe about time

  

时间戳总是单调前进。