我们知道 java.util.Date 的 getTime 方法返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
我注意到一个奇怪的情况如下;
系统时区为:(UTC+02:00)伊斯坦布尔
Date currentDate = new Date();
System.out.println(currentDate .getTime());
System.out.println(currentDate);
Java 控制台输出:
1360753217219
2013 年 2 月 13 日星期三 13:00:17 VET
然后我的javascript插件正在使用这个长对象,如下所示;
Javascript:
console.log(new Date(1360753217219));
浏览器控制台输出:
日期 {2013 年 2 月 13 日星期三 13:00:17 GMT+0200(土耳其标准时间)}
不过没关系!将我的本地时区更改为(UTC-04:30)加拉加斯后,情况和小时以相同的毫秒数变化如下;
Javascript:
console.log(new Date(1360753217219));
浏览器控制台输出:
日期 {2013 年 2 月 13 日星期三 06:30:17 GMT-0430(委内瑞拉标准时间)}
有人可以解释一下吗?那是js的错误吗?或者更重要的是,我应该如何在 java 端处理这个问题,以在 js 端的不同时区获得相同的日期和相同的毫秒数?
谢谢!