在Javascript中添加日期

Add day(s) in a date in Javascript

本文关键字:日期 添加 Javascript      更新时间:2023-09-26

我有一个显示日期的文本框,还有一个按钮。按钮中的功能是添加7天并显示在文本框中。我的代码:

 function onNext() {    
    var startdate = document.getElementById('date').value;
    var addday = new Date(startdate);
    var dd = addday.getDate() + 7;
    var mm = addday.getMonth() + 1;
    var y = addday.getFullYear();
    var displaydate = y + '/' + mm + '/' + dd;
    document.getElementById('date').value = displaydate ;
}

问题是如何在下个月添加一天。

例如,文本框中的日期是2014/08/25。当我单击按钮时,日期将是2014/09/21

只需在日期上添加7天,日期就可以处理月/年的变化:

 function onNext() {    
    var startdate = document.getElementById('date').value;
    var addday = new Date(startdate);
    addday.setDate(addday.getDate() + 7);
    var dd = addday.getDate() + 7;
    var mm = addday.getMonth() + 1;
    var y = addday.getFullYear();
    var displaydate = y + '/' + mm + '/' + dd;
    document.getElementById('date').value = displaydate ;
}

如果你只做这个

 var dd = addday.getDate() + 7;
 var mm = addday.getMonth() + 1;
 var y = addday.getFullYear();

这意味着如果日期是2014年12月21日,则输出将是2014年3月28日

function onNext() {    
    var startdate = document.getElementById('date').value;
    var d2 = new Date(startdate);
    d2.setMonth(d2.getMonth()+1);
    d2.setDate(1); // you can set here whatever date you want
    document.getElementById('date').value = d2.getFullYear() + '/' + d2.getMonth() + '/' + d2. getDate();
}

使用此函数

 function updateAb(s){//format dd/mm/yyyy chnage according to your need
        var dmy = s.split("/");   
        var joindate = new Date(
            parseInt(dmy[2], 10),
            parseInt(dmy[1], 10) - 1,
            parseInt(dmy[0], 10)
        );
        var data_days=7;
        joindate.setDate(joindate.getDate() + data_days); 
        var cc=("0" + joindate.getDate()).slice(-2) + "/" +("0" + (joindate.getMonth() + 1)).slice(-2) + "/" +joindate.getFullYear();
        document.getElementById("datepickerdisabled1").value=cc;
    }