Java和JavaScript时间戳不一样

时间:2015-11-27 14:51:26

标签: javascript java date datetime unix-timestamp

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

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

Timestamp deviation Java vs Javascript for old dates (3600secs)

Why is subtracting these two times (in 1927) giving a strange result?

  

基本上在1927年底的午夜,钟表又回到了5   分钟52秒。所以" 1927-12-31 23:54:08"实际发生了   两次,看起来Java正在解析它,因为后者可能   当地日期/时间的即时。

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

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

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

差异是-176400000; 49个小时。

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

2 个答案:

答案 0 :(得分:4)

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

有一个国际标准(ISO-8601)来处理从系统到系统的时间戳传递。在此,您的日期表示变为ConnectButton = (Button) findViewById(R.id.button); StatusText = (TextView) findViewById(R.id.textView2); 。我建议使用这种方法,因为它是解决这个问题的广泛接受的解决方案。

答案 1 :(得分:0)

这可能与TZ和DST设置有关,这些设置从浏览器转向java。为了确定它,我建议使用像2008-02-01T09:00:22+05这样的ISO-8601格式,这是不明确的