我有以下脚本来检查日期是否有效:
var text = '2/31/2013';
var comp = text.split('/');
var m = parseInt(comp[0], 10);
var d = parseInt(comp[1], 10);
var y = parseInt(comp[2], 10);
var date = new Date(y,m-1,d);
if(date.getFullYear() == y && date.getMonth() + 1 == m && date.getDate() == d) {
console.log('Valid date');
}
else {
console.log('Invalid date');
var NextValidDate = new Date(y,m-1,d+1);
console.log(NextValidDate);
}
我想现在跳到下一个正确的日期。示例案例中的时间是 2012 年 3 月 1 日。
但是如何获得呢? NextValidDate
给出的日期并不总是正确的。
最佳答案
根据您的逻辑,如果日期不存在(只有当该月的天数少于输入的天数时才会发生),那么下个月的第一天就是下一个“正确”日期。
在这种情况下,您可以通过在月份中添加 1 并将天数设置为 1
来创建下一个有效日期:
var NextValidDate = new Date(y, (m-1) + 1, 1);
关于javascript - 如何获得下一个验证日?添加天数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17243730/