但是当我读了下面最高赞的答案之后,我才仿佛窥见了一点端倪。
这个回答比较长,我先全部截图下来给你看看:
比较长的原因是作者修改了几次回答。
为什么会修改回答呢?
且往后看吧,一切的答案都藏在这里面。
我选关键的给你说。
首先看第一段:
他说(1927年) 12 月 31 日的时候,上海的时区发生了变化。
而关于 1927 年上海的详细情况,他附上了一个超链接,这个超链接就是前面出现的网站,点进去之后是这样的:
但是这个里面显示:
No further time changes in 1927 in Shanghai
翻译过来就是:1927 年上海的时间没有进一步变化。
这特么就和他下面说的那一坨内容对不上了啊?
他下面说,在 1927 年底的午夜时分,时钟往回走了 5 分 52 秒。因此,"1927-12-31 23:54:08"实际上发生了两次,而 Java 取的是第二次的的时刻,因此存在差异。
看到这里其实我都懵逼了,这玩意前后不符啊,于是我有接着开始搜索。
直到我发现了这个:
https://coolshell.cn/articles/5075.html/comment-page-2#comments
这也是十年前的文章。
这里面作者把当时网站截了个图:
当年的截图显示:
在1927年12月31日23:59:59时,往后面的一秒应该是1928年1月1日 0:0:0,但是这个时间被往后调整了5分52秒,而成了,1927年12月31日的,23:54:08,于是,完成了352秒的穿越。
这说明了什么?
说明数据发生了篡改,有人篡改了网页上的信息!
到底是怎么回事呢?
我们回到 stackoverflow 接着往下看:
这是他第一次修改回答,因为 History changes...
历史发了变化了...
他这里说,如果用 TZDB 的 2013a 版本的数据,原来的问题将不再表现出完全相同的行为。
在 2013a 中,结果将是 358 秒,过渡时间为 23:54:03,而不是 23:54:08。
他提到了一个 TZDB,这是个啥东西呢?
我也不知道,但是我搜索了一下。
他应该说的是这个的东西。
看名字你也知道了,它是一个时区数据库,里面应该是维护的时区相关的数据。
也就是说,在这个时区数据库里面,用 2013a 版本的数据,前面的代码就是另外一种输出了。
也就是说数据确实发生了变化。
而关键的回答在于下一次编辑: