Java和JavaScript时间戳不一样

我遇到了java和javascript之间的时间戳问题。

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

时间戳偏差Java与JavaScript的旧日期(3600secs)

为什么要减去这两次(在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小时。

有没有人知道我能为此做些什么。


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

有一个国际标准(ISO-8601)来处理从系统到系统的时间戳。 在此日期中,您的日期显示为0001-01-01T00:00:00+00:00 。 我会推荐使用这种方法,因为它是这个问题的广泛接受的解决方案。


这可能与从浏览器到Java分歧的TZ和DST设置有关。 为了确定它,我推荐使用ISO-8601格式,如2008-02-01T09:00:22+05 ,这是不明确的

链接地址: http://www.djcxy.com/p/395.html

上一篇: Java and JavaScript timestamps are not the same

下一篇: Check if xsd datetime had a defined timezone before conversion to Java object