我想说出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函数的想法吗?
isValidDate
Date.parse
Date
NaN
这是我的处理方式:
if (Object.prototype.toString.call(d) === "[object Date]") { // it is a date if (isNaN(d.getTime())) { // d.valueOf() could also work // date is not valid } else { // date is valid } } else { // not a date }
如果您不关心其他JS上下文(外部窗口,框架或iframe)中的Date对象,则首选以下简单形式:
function isValidDate(d) { return d instanceof Date && !isNaN(d); }