Javascript 在get date+天,如果超过一个月,该月不会增加?
我有2个输入,我用Javascript获取日期。在第一次输入时,我想添加14天2周,在第二次输入时添加21天3周。如果日期超过了月份,则月份不变 例如: 如果日期是2011年10月13日,我再加上21天,则改为2011年10月3日,而不是11月 我怎样才能解决这个问题 这是一个工作示例: 请注意,我想将其格式化为DD/MM/YYJavascript 在get date+天,如果超过一个月,该月不会增加?,javascript,datetime,Javascript,Datetime,我有2个输入,我用Javascript获取日期。在第一次输入时,我想添加14天2周,在第二次输入时添加21天3周。如果日期超过了月份,则月份不变 例如: 如果日期是2011年10月13日,我再加上21天,则改为2011年10月3日,而不是11月 我怎样才能解决这个问题 这是一个工作示例: 请注意,我想将其格式化为DD/MM/YY var month2 = b.getMonth() + 1; $(".input2").val(b.getDate() + "/" + month2 +"/" + b
var month2 = b.getMonth() + 1;
$(".input2").val(b.getDate() + "/" + month2 +"/" + b.getFullYear());
您在重复使用月份输入2,但月份是a月份
更清楚地说:
var a = new Date(+new Date + 12096e5);
var b = new Date(+new Date + 18144e5);
var month = a.getMonth() + 1;
// Here calc month2
$(".input1").val(a.getDate() + "/" + month +"/" + a.getFullYear());
$(".input2").val(b.getDate() + "/" + month +"/" + b.getFullYear());
两个日期a和b,两个月变量 您可以使用模和getLastDayOfMonth函数执行此操作:
Date.prototype.getLastDayOfMonth = function() {
return new Date(new Date(this.getFullYear(), this.getMonth() + 1, 0)).getDate();
};
$('input[type=button]').click(function() {
var days = Math.random() + 100 | 0 + 30; // just a random number, nothing more
a.setDate(a.getDate() + days % a.getLastDayOfMonth());
$(".input1").val(a.getDate() + "/" + month + "/" + a.getFullYear());
});
这里没有什么值得感谢的。除了詹姆斯·麦克内利斯。你用的是什么浏览器?您有一些简单的示例代码可以共享吗?@Anirvan该代码已经在jsfiddleAh中链接。我想如果超过一个月或不超过一个月的话,我的约会就会增加!非常感谢