在MM / DD / YYYY字符串格式中接受来自用户的日期字符串后,我使用下面的代码创建日期对象。
var userEnteredDate = '02/31/2015'; //example incorrect date entered by user
var userDate = new Date(userEnteredDate); //Getting rounded to 3rd March instead of throwing error
有没有办法在JavaScript中解决这个问题。 我不想做闰年的所有验证,从格里高利历等缺少日期等。
所需的行为是在传递错误的日期时应该返回NaN。 我不想使用任何第三方库与旧版本的angularjs兼容。
**注意:**这与使用Momentjs不同,这个问题是关于javascript日期功能的问题
答案 0 :(得分:1)
使用本机Date
构造函数进行日期解析是不可靠的。您应该使用Moment.js库 - 它会因无效日期而引发错误。
如果您允许用户输入日期,您还可以考虑使用日期选择器来获得更好的用户体验。