我试图检查在发送部分值时会返回什么值。
var d = new Date("11/28");
console.log(d.toLocaleDateString())

我原以为28th Nov., 2016(current year)
,但它会返回28th Nov., 2001
。
所以问题是为什么 2001 被视为默认年度?
答案 0 :(得分:3)
2001不被视为默认年份。
这是一个Chrome问题,如果您使用Firefox运行相同的代码,则会获得Invalid Date
。
答案 1 :(得分:0)
language specification仅包含解析ISO 8601格式字符串的规则。解析任何其他格式是依赖于实现的(注意Date构造函数和Date.parse等效于解析)。
所以给出" 11/28"不是有效的ISO 8601字符串,实现可以自由应用它喜欢的任何启发式。任何结果,包括无效日期,都应该是预期的,并且实现之间的一致性不应该。