为什么JavaScript会在我设定的日期前一天给我看?

时间:2015-09-03 21:33:32

标签: javascript date timezone

我正在尝试根据我的一些json数据查看日期。

我的代码是:

var date = new Date(json.events[i].event.first_date);
alert(date);

现在,json.events[i].event.first_date只返回yyyy-mm-dd格式的日期。

我注意到,但是当我执行alert(date);时,我会在之前显示实际数据显示的日期

例如,json.events[0].event.first_date会提供日期2015-06-02,但提醒会显示2015年6月1日。

我从一个位于德国某处的网址获取我的json,而且我在美国。由于时区,日期会搞砸吗?

1 个答案:

答案 0 :(得分:2)

当您从没有时区的字符串创建日期时,您将获得日期+时区更正 - 如果您在美国,那么您将获得类似GMT-7的内容,并且您将获得6月中的第二个减去7个小时 - 前一天。尝试拆分日期并使用new Date(2015, 7, 1)构造函数,您就会得到您期望的日期。字符串解析参考文档 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse