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

标签 javascript internet-explorer google-chrome

所以我用它来尝试获得前一天的时间。这在 Chrome 中运行良好,但 IE 认为是前一天。我当前的系统日期是 09/05/2014 10:14 (PST)。

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

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

console.log(todaysDate.getDate());

所以如果今天 = 2014 年 9 月 5 日(太平洋标准时间)

Chrome 获取 08/05/2014

IE 获取 07/05/2014

这是怎么回事?为什么 IE 对此的解释与 Chrome 不同?

最佳答案

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

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

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

关于javascript - 为什么计算的日期在 Internet Explorer 和 Chrome 中不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568078/

相关文章:

javascript - 格式化日期为 "Submit Form Data"

debugging - 在 Chrome 的调试器中暂停?

google-chrome - Chrome 扩展图像 Assets 未显示( list 版本 2)

javascript - 在 Google Chrome 扩展程序中需要外部 JavaScript

javascript - 在单元测试中通过 $scope 检索 Angular Controller

javascript - 在 Angularjs 中有条件地添加表格元素

javascript - 从 WebView 页脚react-native 中删除箭头和完成按钮

internet-explorer - 自定义 SVG 标记不会在 IE 11 中显示

javascript - IE 支持 DOM importNode

css - 在 IE 8 中显示双重背景