为什么 JavaScript 会在我设定的日期前一天显示给我?
Why does JavaScript show me one day before my set date?
我正在尝试根据我拥有的一些 json 数据查看日期。
我的代码是:
var date = new Date(json.events[i].event.first_date);
alert(date);
现在,json.events[i].event.first_date
只是 returns 格式为 yyyy-mm-dd
的日期。
我注意到,但是当我执行 alert(date);
时,我看到的是实际数据显示日期 之前 的那一天。
例如,json.events[0].event.first_date
给出日期 2015-06-02
但提醒显示 2015 年 6 月 1 日。
我从位于德国某处的 url 获得我的 json,而我在美国。日期会不会因为时区而被弄乱?
当您从不带时区的字符串创建日期时,您会得到日期 + 时区校正 - 如果您在美国,那么您会得到类似 GMT-7 的东西,并且您会得到 6 月的第二天减去 7 小时 - 前一天。尝试拆分您的日期并使用 new Date(2015, 7, 1)
构造函数,您将获得您期望的日期。字符串解析参考文档-https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
我正在尝试根据我拥有的一些 json 数据查看日期。
我的代码是:
var date = new Date(json.events[i].event.first_date);
alert(date);
现在,json.events[i].event.first_date
只是 returns 格式为 yyyy-mm-dd
的日期。
我注意到,但是当我执行 alert(date);
时,我看到的是实际数据显示日期 之前 的那一天。
例如,json.events[0].event.first_date
给出日期 2015-06-02
但提醒显示 2015 年 6 月 1 日。
我从位于德国某处的 url 获得我的 json,而我在美国。日期会不会因为时区而被弄乱?
当您从不带时区的字符串创建日期时,您会得到日期 + 时区校正 - 如果您在美国,那么您会得到类似 GMT-7 的东西,并且您会得到 6 月的第二天减去 7 小时 - 前一天。尝试拆分您的日期并使用 new Date(2015, 7, 1)
构造函数,您将获得您期望的日期。字符串解析参考文档-https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse