我刚回到过去

Eli*_*dou 0 ruby time clock cpu-architecture

我过去14秒(使用Ruby,在我的IRB控制台中).我只想了解究竟发生了什么.

我只是观察返回值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和时间(用于管理时间的Ruby核心库).

这可能发生什么?这会再次发生吗?

dec*_*eze 6

很可能您的操作系统只是与NTP服务器同步,并且实际上"物理"地设置了它的时钟.你很幸运能够在行动中抓住它.

这会再次发生[..]吗?

是的,这样的事情随时都可能发生.虚假#33程序员相信时间:

时间戳总是单调推进.

  • ......如果不够清楚:这几乎肯定与ruby无关,而且与运行的计算机有关. (9认同)