javascript - 如何获得下一个验证日?添加天数不起作用

标签 javascript jquery

我有以下脚本来检查日期是否有效:

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/

相关文章:

javascript - 单击事件删除表单中的隐藏值

javascript - 检测keyCode问题错误值

javascript - JQuery 同一节点中最接近的元素

javascript - xml/xul 通过 javascript 访问 dtd 变量

javascript - 幕后评估?

javascript - 是否可以在 JSON 中嵌入 youtube 代码?

jquery - 无法从 C# 中的 jQuery 对话框获取值?

javascript - REST 服务/网站安全 - 停止页面 'flashing' 向上

javascript - jQuery:具有动态绑定(bind)、任意创建的事件和监听器的事件序列未完成

javascript - 如何从内部更改 iframe z-index?