添加月份到日期
javascript add month to date
我想添加1个月或6个月到给定的日期。但是如果我加一个月,年份就不会增加。如果我把6个月加到6月,我得到的是返回的月00,但是年是递增的。你能帮我一下吗?
function addToBis(monthToAdd){
var tmp = $("#terminbis").val().split('.');
var day = tmp[0];
var month = tmp[1];
var year = tmp[2];
var terminDate = new Date(parseInt(year),parseInt(month), parseInt(day));
terminDate.setMonth(terminDate.getMonth()+monthToAdd);
day = "";
month = "";
year = "";
if(terminDate.getDate() < 10){
day = "0"+terminDate.getDate();
} else{
day = terminDate.getDate();
}
if(terminDate.getMonth() < 10){
month = "0"+terminDate.getMonth();
} else{
month = terminDate.getMonth();
}
year = terminDate.getFullYear();
$("#terminbis").val(day+"."+month+"."+year);
}
getMonth返回一个从0到11的数字,表示1月为0,2月为1,等等
so这样修改
var terminDate = new Date(parseInt(year),parseInt(month - 1), parseInt(day));
terminDate.setMonth(terminDate.getMonth()+monthToAdd);
和
month = terminDate.getMonth() + 1;
您应该使用javascript Date对象的本机方法来更新它。看看这个问题的公认答案,例如,它是解决你问题的正确方法。
为日期添加X个月的Javascript函数
这个函数可以更简洁地写成:
function addToBis(monthToAdd){
function z(n) {return (n<10? '0':'') + n}
var tmp = $("#terminbis").val().split('.');
var d = new Date(tmp[2], --tmp[1], tmp[0]);
d.setMonth(d.getMonth() + monthToAdd);
$("#terminbis").val(z(d.getDate()) + '.' + z(d.getMonth() + 1)
+ '.' + d.getFullYear();
}
terminbis
和monthToAdd
的值应在使用前进行验证,由该值生成的日期也应进行验证。
相关文章:
- 将日期添加到日期输入字段Angular
- 使用javascript将两个输入的日期添加在一起
- 在循环中为日期添加天数,javascript
- 使用奇怪的控制台日志结果向输入日期添加天数
- jQuery将日期添加到输入中,但仅当它's是空的
- 在 javascript 中为日期添加时间
- 在 Java 脚本中向日期添加变量编号
- 将日期添加到日期以使明天成为当前日期 - Javascript
- 使用AngularJS将当前日期添加到帖子中
- 如何使用 JavaScript 从当前日期添加一年
- 使用Greasemonkey为页面上的日期添加粗体标签
- Javascript为未来日期添加时间
- 是否有一个内置函数可以将创建日期添加到couchDB中的文档中
- 使用jquery或Javascript向选定日期添加天数
- 使用JavaScript为日期添加1年
- 将日期添加到用php和javascript编写的时钟和日期脚本中
- 将开始日期和结束日期添加为高图中的X轴标签
- 使用jquery日期选择器向日期添加自定义属性
- 在不更改GMT时间的情况下为日期添加天数
- Javascript日期添加