在 JavaScript 中检测“无效日期”日期实例
2022-08-29 21:56:13
我想在JS中区分有效和无效的日期对象,但无法弄清楚如何:
var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
编写函数的任何想法?isValidDate
- 建议使用 Ash 来解析日期字符串,这提供了一种权威方法来检查日期字符串是否有效。
Date.parse
- 如果可能的话,我希望我的API接受一个Date实例,并能够检查/断言它是否有效。Borgar的解决方案可以做到这一点,但我需要在浏览器上进行测试。我也想知道是否有更优雅的方式。
- Ash让我考虑根本不让我的API接受实例,这将是最容易验证的。
Date
- Borgar建议测试一个实例,然后测试的时间值。如果日期无效,则时间值为 。我检查了ECMA-262,这种行为符合标准,这正是我正在寻找的。
Date
Date
NaN