Fix Date.prototype.toISOString for NaN dates and add milliseconds for
compatibility with Safari. Review URL: http://codereview.chromium.org/543056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
51a0cf8a71
commit
bfb111b9ed
@ -1048,16 +1048,19 @@ function DateToGMTString() {
|
||||
}
|
||||
|
||||
|
||||
function PadInt(n) {
|
||||
// Format integers to have at least two digits.
|
||||
return n < 10 ? '0' + n : n;
|
||||
function PadInt(n, digits) {
|
||||
if (digits == 1) return n;
|
||||
return n < MathPow(10, digits - 1) ? '0' + PadInt(n, digits - 1) : n;
|
||||
}
|
||||
|
||||
|
||||
function DateToISOString() {
|
||||
return this.getUTCFullYear() + '-' + PadInt(this.getUTCMonth() + 1) +
|
||||
'-' + PadInt(this.getUTCDate()) + 'T' + PadInt(this.getUTCHours()) +
|
||||
':' + PadInt(this.getUTCMinutes()) + ':' + PadInt(this.getUTCSeconds()) +
|
||||
var t = DATE_VALUE(this);
|
||||
if (NUMBER_IS_NAN(t)) return kInvalidDate;
|
||||
return this.getUTCFullYear() + '-' + PadInt(this.getUTCMonth() + 1, 2) +
|
||||
'-' + PadInt(this.getUTCDate(), 2) + 'T' + PadInt(this.getUTCHours(), 2) +
|
||||
':' + PadInt(this.getUTCMinutes(), 2) + ':' + PadInt(this.getUTCSeconds(), 2) +
|
||||
'.' + PadInt(this.getUTCMilliseconds(), 3) +
|
||||
'Z';
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user