我需要能够添加1,2,5或10天到今天的日期使用jQuery。


当前回答

您可以像这样扩展javascript Date对象

Date.prototype.addDays = function(days) {
    this.setDate(this.getDate() + parseInt(days));
    return this;
};

在javascript代码中,你可以调用

var currentDate = new Date();
// to add 4 days to current date
currentDate.addDays(4);

其他回答

你可以尝试这个,不需要JQuery: timeSolver.js

例如,今天加上5天:

var newDay = timeSolver.add(new Date(),5,"day");

你也可以按小时、月等添加。 请查看更多信息。

Krishna Chytanya的原型解决方案非常好,但需要一个微小但重要的改进。 days参数必须解析为Integer,以避免当days是“1”这样的字符串时进行奇怪的计算。(我花了好几个小时才弄清楚我的申请出了什么问题。)

Date.prototype.addDays = function(days) {
    this.setDate(this.getDate() + parseInt(days));
    return this;
};

即使你不使用这个原型函数: 当使用setDate()时,一定要确保有一个Integer。

[更新]在你继续之前考虑阅读这篇文章…

Moment.js

从这里安装moment.js。

NPM: $ NPM I——节省时间

Bower: $ Bower install—节省时间

接下来,

var date = moment()
            .add(2,'d') //replace 2 with number of days you want to add
            .toDate(); //convert it to a Javascript Date Object if you like

链接编号:http://momentjs.com/docs/#/manipulating/add/

Moment.js是一个非常棒的管理Date对象的Javascript库

祝你好运。

您可以像这样扩展javascript Date对象

Date.prototype.addDays = function(days) {
    this.setDate(this.getDate() + parseInt(days));
    return this;
};

在javascript代码中,你可以调用

var currentDate = new Date();
// to add 4 days to current date
currentDate.addDays(4);

这里有一个对我有用的解决办法。

function calduedate(ndays){

    var newdt = new Date(); var chrday; var chrmnth;
    newdt.setDate(newdt.getDate() + parseInt(ndays));

    var newdate = newdt.getFullYear();
    if(newdt.getMonth() < 10){
        newdate = newdate+'-'+'0'+newdt.getMonth();
    }else{
        newdate = newdate+'-'+newdt.getMonth();
    }
    if(newdt.getDate() < 10){
        newdate = newdate+'-'+'0'+newdt.getDate();
    }else{
        newdate = newdate+'-'+newdt.getDate();
    }

    alert("newdate="+newdate);

}