我正在尝试在给定日期添加月份,并希望输出该日期。
我正在使用此代码,但它无效。
var p = '2015-10-21';
var myDate = new Date(p);
var result1 = myDate.addMonths(3);
我希望结果如下:2016-01-21
答案 0 :(得分:1)
你想要getMonth / setMonth
var p = '2015-10-21';
var myDate = new Date(p);
myDate.setMonth(myDate.getMonth() + 3);
不要担心溢出 - Date对象处理它
请注意。如果您希望结果使用不同的var
,则会覆盖myDatevar p = '2015-10-21';
var myDate = new Date(p);
var result1 = new Date(myDate);
result1.setMonth(result1.getMonth() + 3);
正如@JohnHascall在评论中指出的那样,这不是一个月底的万无一失,例如将2015年11月30日增加三个月将导致2016年3月1日
答案 1 :(得分:1)
时刻库对于日期相关功能来说非常棒。 你可以做加,减等操作。 它有一个易于理解的语法。也可以避免边缘情况
如果您包含了时刻库,那么您的代码可以像这样重写
var p = '2015-10-21';
var myDate = moment(p, 'YYYY-MM-DD');
var result1 = myDate.add(3, 'months');
console.log (result1.format('YYYY-MM-DD'));
了解或下载时刻
答案 2 :(得分:0)
你可以试试这个 -
<script>
var date = new Date();
var month = date.getMonth()+1;
var year = date.getFullYear();
var day = date.getDate();
function addMonth(addMonth){
var u_date,u_year,u_month;
u_date = month + addMonth;
if(u_date > 12){
var div = Math.floor(u_date / 12);
var rem = u_date % 12;
u_year = year + div;
u_month = month + rem;
document.getElementById("updated_date").innerHTML = day +" "+ u_month + " " + u_year;
}else{
document.getElementById("updated_date").innerHTML = day +" "+ (month+addMonth) + " " + year;
}
}
addMonth(13);
</script>
这是html -
<div id="updated_date"></div>