【问题标题】:JavaScript Date creation fails in IE在 IE 中创建 JavaScript 日期失败
【发布时间】:2013-11-25 14:42:23
【问题描述】:

我确实在 IE 中创建 JavaScript 日期时出现了错误。 以下内容适用于除 IE 以外的任何浏览器。 IE 似乎在 2014 年创建了一个随机日期 你知道为什么它会失败吗?

 var date = new Date();
 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
 var expires = date.toGMTString();

【问题讨论】:

  • 我设置 days = 45 并在 IE8 中尝试过,它可以工作。
  • 看看 CBroe 不是每一天都是 86400 秒长(DST,记得吗?)

标签: javascript internet-explorer date


【解决方案1】:

除此之外,我无法重现您的问题,将 24 * 60 * 60 秒添加到时间戳以提前日期只是 错误 - 并非每天都是 86400 秒长(DST,记得吗? )。

相反,您只需将日期对象的天数设置为当前值加上 x,它将自动转换为正确的日期:

var date = new Date(), daysToAdd = 45;
date.setDate(date.getDate() + daysToAdd);
var expires = date.toGMTString();

【讨论】:

    【解决方案2】:

    根据 IE 的版本,ECMAscript5 标准可能尚未实现,该标准是定义日期对象的标准。

    看看这里....javascript date object issue in Safari and IE

    【讨论】:

    • 是的,但我确实使用浏览器本身创建了一个新日期 - 没有像链接后面提到的那样传输手动日期对象;(
    猜你喜欢
    • 2020-09-14
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多