2

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が無効です。[42行9列目]

月のパラメータにいくつかの修正を試みましたが、正しく理解できないようです。そのため、ヘルプが大幅に適用されます。

ところで:上記のコードはFirefoxで正常に機能します。

4

1 に答える 1

2

getUTCMonth()はゼロベースなので、01月も同様です。これに1を追加して、日付文字列を作成できます。

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

MDNドキュメントから:

getUTCMonth-ユニバーサル時間に従って、指定された日付の月(0〜11)を返します。

于 2013-01-04T09:27:54.493 に答える