我过去14秒钟(在我的IRB控制台中使用Ruby)。我只是想了解到底发生了什么。
我只是通过几乎每秒钟对其进行评估来观察Time.now.strftime('%F %T')
的返回值(返回格式化为“ YYYY-MM-DD HH:MM:SS”的字符串)。
但是后来,这发生了:
时间从“ 2018-07-18 14:25:25”跳到“ 2018-07-18 14:25:11” ...没有上下文,没有Timecop(允许时光倒流的Ruby库) ,只有Ruby和Time(用于管理时间的Ruby核心库)。
这里会发生什么?这会再次发生吗?
答案 0 :(得分:6)
您的操作系统很可能只是与NTP服务器同步,并且实际上是“物理地”推迟其时钟。您很幸运能赶上表演。
这又会发生[..]吗?
是的,类似的事情随时可能发生。 Falsehood #33 that programmers believe about time:
时间戳总是单调前进。