According to the spec when the UTC offset representation is absent,
date-only forms are interpreted as a UTC time and date-time forms
are interpreted as a local time.
next = njs_date_number_parse(&tm[NJS_DATE_YR], p, end, 4);
if (next != NULL) {
+ utc = 1;
+
/* ISO-8601 format: "1970-09-28T06:00:00.000Z" */
if (next == end) {
return NAN;
}
- utc = 1;
end--;
if (*end != 'Z') {
tm[NJS_DATE_MSEC] *= 10;
}
+done:
+
return njs_make_date(tm, !utc);
}
week = 0;
}
-done:
-
return njs_make_date(tm, 0);
}
{ njs_str("Date.parse('2011-06-24T06:01:02.625555Z5')"),
njs_str("NaN") },
+ { njs_str("var tzoffzet = new Date(0).getTimezoneOffset() * 60000;"
+ "Date.parse('1970-01-01T00:00:00') == tzoffzet"),
+ njs_str("true") },
+
+ { njs_str("Date.parse('1970-01-01')"),
+ njs_str("0") },
+
{ njs_str("var d = new Date(); var str = d.toISOString();"
"var diff = Date.parse(str) - Date.parse(str.substring(0, str.length - 1));"
"d.getTimezoneOffset() == -diff/1000/60"),