Java 和 JavaScript 时间戳不一样

Dan*_*ijn 5 javascript java datetime date unix-timestamp

我在 java 和 javascript 之间的时间戳有问题。

我已经找到了关于时间戳的这两个问题,并且我知道这些年来的时间变化。

旧日期的时间戳偏差 Java 与 Javascript(3600 秒)

为什么减去这两次(在 1927 年)会给出一个奇怪的结果?

基本上在 1927 年底的午夜,时钟倒退了 5 分 52 秒。因此,“1927-12-31 23:54:08”实际上发生了两次,看起来 Java 正在将其解析为该本地日期/时间的较晚可能时刻。

问题在于,当我使用 javascript 并将时间戳放在那里时,我会得到一个不同于 Java 日期的日期。我需要这个来在网页上显示正确的日期。我知道我可以将日期作为字符串请求,但我更喜欢使用时间戳。

Java 日期 0001-01-01 时间戳是 -62135773200000

JavaScript 日期 0001-01-01 时间戳是 -62135596800000

差值为-176400000;49 小时。

有谁知道我可以为此做些什么。

Kyr*_*lia 6

就我个人而言,我会避免将数字时间戳从一种语言的系统传递到另一种语言的系统,唯一的原因是这些语言用于生成它们的算法可能不同。

有一个国际标准(ISO-8601)来处理系统之间传递时间戳。在此,您的日期表示形式变为0001-01-01T00:00:00+00:00。我建议使用这种方法,因为它是解决这个问题的广泛接受的解决方案。