Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java和JavaScript时间戳不一样_Javascript_Java_Date_Datetime_Unix Timestamp - Fatal编程技术网

Java和JavaScript时间戳不一样

Java和JavaScript时间戳不一样,javascript,java,date,datetime,unix-timestamp,Javascript,Java,Date,Datetime,Unix Timestamp,我发现java和javascript之间的时间戳有问题 我已经发现了这两个关于时间戳的问题,我知道这些年来的时间变化 基本上在1927年底的午夜,时钟倒转了5秒 分52秒。所以“1927-12-3123:54:08”真的发生了 两次,看起来Java正在尽可能晚地解析它 本地日期/时间的即时消息 问题在于,当我使用javascript并将时间戳放入其中时,我会得到一个与Java日期不同的日期。我需要这个在网页上显示正确的日期。我知道我可以以字符串形式请求日期,但我更喜欢使用时间戳 Java日期

我发现java和javascript之间的时间戳有问题

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

基本上在1927年底的午夜,时钟倒转了5秒 分52秒。所以“1927-12-3123:54:08”真的发生了 两次,看起来Java正在尽可能晚地解析它 本地日期/时间的即时消息

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

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

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

差额为-176400000;49小时


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

这可能与TZ和DST设置有关,这两种设置从浏览器转向java。为了解决这个问题,我建议使用ISO-8601格式,比如
2008-02-01T09:00:22+05
,就个人而言,这是不明确的,我会避免将数字时间戳从一种语言的系统传递到另一种语言的系统,唯一的原因是这些语言在生成它们的算法上可能不同


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

是的,ISO 8601是正确的方法。像这个问题这样的用法正是该标准的目的。标准格式比
long
数值更易于阅读、记录、故障排除和调试。