【Js】检查Date对象是否为Invalid Date
使用Date()构造日期对象,如果传入非日期格式或者错误的日期格式的字符串,仍然能构造出Date对象。vardate=newDate("dream");console.log('date:', date);//Invalid Dateconsole.log('date:', typeof date);//“object”console.log('date:', date...
·
使用Date()构造日期对象,如果传入非日期格式或者错误的日期格式的字符串,仍然能构造出Date对象。
var date = new Date("dream");
console.log('date:', date); //Invalid Date
console.log('date:', typeof date); //“object”
console.log('date:', date instanceof Date); //true
var date2 = new Date("2019-053");
console.log('date2:', date2); //Invalid Date
console.log('date2:', typeof date2); //“object”
console.log('date2:', date2 instanceof Date); //true
示例里使用非日期格式"dream"(错误日期格式“2019-053”)构造Date对象
- 直接输出date,结果为Invalid Date
- 使用typeof判断date的类型,得到结果为“object”
- 使用instanceof检测date是否为Date类型,结果为true。
使用Date的getTime()方法,Invalid Date对象返回的是一个NaN,可以利用这点来检查Date对象是否为Invalid Date。
function isValidDate(date) {
return date instanceof Date && !isNaN(date.getTime())
}
// 也可以
// function isValidDate(date) {
// return date instanceof Date && !isNaN(date.valueOf())
// }
var date = new Date("dream");
console.log('结果',isValidDate(date)); //false
var date2 = new Date("2019-053");
console.log('结果',isValidDate(date2)); //false
var date3 = new Date("2019-05-09");
console.log('结果',isValidDate(date3)); //true
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献5条内容
所有评论(0)