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
,这是不明确的
上一篇: Java and JavaScript timestamps are not the same
下一篇: Check if xsd datetime had a defined timezone before conversion to Java object