internet explorer语言 - Javascript/ IE日期时间错误



在IE中使用以下代码:

if(!Date.prototype.toISOString) Date.prototype.toISOString = function(){
    var padZero = function(str, len){while(str.length < len) str = '0' + str; return str;};
    var ret = padZero(''+this.getUTCFullYear(), 4)
        + '-' + padZero(''+this.getUTCMonth(), 2)
        + '-' + padZero(''+this.getUTCDate(), 2)
        + 'T' + padZero(''+this.getUTCHours(), 2)
        + ':' + padZero(''+this.getUTCMinutes(), 2)
        + ':' + padZero(''+this.getUTCSeconds(), 2)
        + 'Z';
    alert(ret);
    return ret;
}

我得到以下错误…

在执行urlrewrite查询时发生错误:err:FORG0001:类似日期时间的值'2012-00-05T09:09:46Z'的词法形式非法,月份字段的值0无效。[at line 42, column 9]

我已经尝试了几个修复月参数,但似乎不能得到它的权利。因此,任何帮助都将是非常感激的。

顺便说一句:上面的代码在Firefox中工作得很好…

getUTCMonth()是从零开始的,所以0是一月。你可以给它加1来形成你的日期字符串:

+ '-' + padZero(''+(this.getUTCMonth()+1), 2)

From MDN docs:

getUTCMonth -根据通用时间返回指定日期中的月份(0-11)。

最新更新