我刚刚回到过去
I just went back in time
我过去 14 秒(在我的 IRB 控制台中使用 Ruby)。我只是想了解到底发生了什么。
我只是通过几乎每秒钟对其进行评估来观察 Time.now.strftime('%F %T')
的 return 值(return 是一个格式为 "YYYY-MM-DD HH:MM:SS" 的字符串)。
但是后来,这发生了:
时间从“2018-07-18 14:25:25”跳到“2018-07-18 14:25:11”...没有上下文,没有 Timecop(Ruby 库允许回到过去),只是 Ruby 和时间(一个 Ruby 管理时间的核心库)。
这里会发生什么?这会再次发生吗?
很可能您的操作系统只是与 NTP 服务器同步,实际上 "physically" 将其时钟调慢。你真幸运,当场抓住了它。
Could this happen again [..]?
是的,这样的事情随时都可能发生。 Falsehood #33 that programmers believe about time:
Timestamps always advance monotonically.
我过去 14 秒(在我的 IRB 控制台中使用 Ruby)。我只是想了解到底发生了什么。
我只是通过几乎每秒钟对其进行评估来观察 Time.now.strftime('%F %T')
的 return 值(return 是一个格式为 "YYYY-MM-DD HH:MM:SS" 的字符串)。
但是后来,这发生了:
时间从“2018-07-18 14:25:25”跳到“2018-07-18 14:25:11”...没有上下文,没有 Timecop(Ruby 库允许回到过去),只是 Ruby 和时间(一个 Ruby 管理时间的核心库)。
这里会发生什么?这会再次发生吗?
很可能您的操作系统只是与 NTP 服务器同步,实际上 "physically" 将其时钟调慢。你真幸运,当场抓住了它。
Could this happen again [..]?
是的,这样的事情随时都可能发生。 Falsehood #33 that programmers believe about time:
Timestamps always advance monotonically.