检测字符串是否可以转换为日期
Detect if string can be converted to date
目前,我正在使用:
var d = new Date("March 7 2012");
document.write(d.getMonth() + 1);
如果日期字符串像No Date
一样奇怪,例如:
var d = new Date("No Date"); // anything which isn't recognisable as a date
document.write(d.getMonth() + 1);
这里我得到的输出是NaN
如果发生类似情况,我如何显示更好的消息?
您可以使用isNaN
:检查该值是否不是NaN
if (isNaN(d.getMonth())) {
//value is not a date
}
else
{
document.write(d.getMonth() + 1);
}
使用类似的东西
var d= new Date('No Date');
var mon=d.getMonth()+1;
document.write(isNAN(mon)?"No Date": mon);
您也可以这样做:
Date.isValid = function(date) {
return !!Date.parse(date);
};
Date.isValid('fake') // false
Date.isValid('1990-11-15T00:00:00+00:00') // true
这似乎奏效了。
new Date("Hi") == 'Invalid Date'
相关文章:
- 转换日期时间格式
- 在JavaScript中转换日期/时间格式
- 如何在角度引导日期选择器中转换日期格式
- 如何在 jQuery 中转换日期格式
- 如何在JavaScript中转换日期类型
- 转换日期时出现错误结果
- 用javascript转换日期
- EXTJS 3 API转换日期时间
- 转换日期MongoDB/Javascript,但Nan
- 如何/在哪里从redux应用程序中的服务器转换日期
- 如何在自由标记模板或javascript中以特定格式转换日期
- 从数据库转换日期格式
- 在javascript中转换日期格式
- 在 Javascript 中转换日期格式并计算两个日期之间的差异
- 时刻JS未正确转换日期
- 转换日期,以便可以将 jquery 日历值设置为日期
- 如何使用没有过滤器的 Angular JS 转换日期格式
- 使用jQuery或javascript转换日期格式(不使用任何lib)
- 我的javascript中的错误在哪里?转换日期格式
- 转换日期&PST时区到UTC的时间