我需要能够添加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);
}