我只是想知道将无效的日期传递给JavaScripts日期对象时会发生什么,并且传递的日期无效。
e.g。 2015-11-31(无效,因为11月只有30天)
这是一个例子:
new Date("2015-11-31T23:59:59.999Z").toISOString()
//Results in 2015-12-01T23:59:59.999Z
好的,日期似乎是插值的,并且用不同语言(目标C)进行的比较特别相似。
但是当我尝试以下示例时:
new Date("2015-11-32T23:59:59.999Z").toISOString()
// It results with an Error
Uncaught RangeError: Invalid time value
与Objective C相比,它现在不同了,因为Objective C的结果是
2015-12-02T23:59:59.999Z
这种行为的原因是什么,哪一种更“正确”?