JavaScript:newdate(Date.parse(";a49";)
为什么“A 49”是有效的日期时间?因为它正在解析JavaScript:newdate(Date.parse(";a49";),javascript,Javascript,为什么“A 49”是有效的日期时间?因为它正在解析A 49,只提取49,并假设它是2049年的开始。解析器忽略了你的A(因为你的A可能是一个分隔符,或者只是一些与日期无关的用户文本),只是选择了数字并将其作为年份。但是,如果向数字中添加字母,解析器将无法将其识别为数字,因此无法将其转换为日期 示例: new Date(Date.parse("A49")) // Invalid Date new Date(Date.parse("A 49")) // Fri Jan 01 2049 00:00:
A 49
,只提取49
,并假设它是2049年的开始。解析器忽略了你的A(因为你的A可能是一个分隔符,或者只是一些与日期无关的用户文本),只是选择了数字并将其作为年份。但是,如果向数字中添加字母,解析器将无法将其识别为数字,因此无法将其转换为日期
示例:
new Date(Date.parse("A49"))
// Invalid Date
new Date(Date.parse("A 49"))
// Fri Jan 01 2049 00:00:00 GMT+0600 (Ekaterinburg Standard Time)
new Date(Date.parse("Aasdfashdkfjahslkdf 49"))
// Fri Jan 01 2049 00:00:00 GMT+0600 (Ekaterinburg Standard Time)
请注意,
Date.parse
不可靠,在不同浏览器中的工作方式可能会截然不同。
new Date(Date.parse("A 49"))
//Fri Jan 01 2049 00:00:00 GMT+0100 (W. Europe Standard Time)
new Date(Date.parse("OTHER 49"))
//Fri Jan 01 2049 00:00:00 GMT+0100 (W. Europe Standard Time)
new Date(Date.parse("OTHER 10"))
//Mon Oct 01 2001 00:00:00 GMT+0200 (W. Europe Daylight Time)
new Date(Date.parse("OTHER 10a"))
//Invalid Date
new Date(Date.parse("OTHER 10 10"))
//Wed Oct 10 2001 00:00:00 GMT+0200 (W. Europe Daylight Time)