2016-07-22 83 views
0

其实,我打电话给我的Java服务从AngularJS和我回去包含日期,例如对象:转换戳日期为JavaScript日期

{ 
"Name": "Jhon" 
"date": 1465826400000 
} 
在我服务的Java 1465826400000日期对应周一

, 2016年6月13日14:00时,在我的代码,我的javaScript

var date = new Date (1465826400000); 

,它给14-06-2016 4:00:00

,这意味着这两个日期之间的一个天的滞后。

有人有一个想法

回答

1

不,它只是意味着你正在寻找的结果在您的浏览器本地时区。如果你把它看作一个UTC日期,它匹配:

console.log(new Date (1465826400000).toISOString()); // "2016-06-13T14:00:00.000Z"

+0

谢谢克劳德,这意味着我的服务的java我要的日期转换为UTC? – Cheps

+1

@Cheps:这取决于该号码来自哪里。如果你打算使用数字(而不是人类可读的字符串),你最好的选择可能是毫秒 - 因为 - 大纪元(你从Java的['Date.getTime'](http://docs.oracle.com)的.com/JavaSE的/ 8 /文档/ API/JAVA/util的/ Date.html#getTime--))。这些对时区不敏感。当你使用JavaScript的''新日期(数字)'时,它将代表完全相同的日期/时间。 JavaScript的'Date'对象有一些方法可以用来获取那个日期的部分(或者一个字符串)转换成* local time *和UTC的那些。只需使用你需要的。 –