为什么Internet Explorer和Chrome中的计算日期不同?

时间:2014-05-09 15:10:39

标签: javascript internet-explorer google-chrome

所以我用它来试着今天前一天。这在Chrome中运行良好,但IE认为它在前一天。我目前的系统日期是09/05/2014 10:14(太平洋标准时间)。

var todaysDate = new Date();
var maxDate = new Date(Date.UTC(todaysDate.getFullYear(),todaysDate.getMonth(),todaysDate.getDate()-1));

值得一提的是,IE和Chrome都会为以下内容返回值9。

console.log(todaysDate.getDate());

所以如果今天= 09/05/2014(太平洋标准时间)

Chrome获取2014年8月5日

IE获取07/05/2014

发生了什么事?为什么IE会以不同的方式解释Chrome?

1 个答案:

答案 0 :(得分:3)

这是一个时区问题 - GMT背后的时区将被你的代码推迟一天。

尝试设置"小时"到12。这将确保所有时区都在同一天。

显然UTC + 14是一个东西。请尝试使用todaysDate.getUTC*方法,并确保包含小时/分钟/秒。