我需要能够添加1,2,5或10天到今天的日期使用jQuery。
当前回答
这是5天:
var myDate = new Date(new Date().getTime()+(5*24*60*60*1000));
你不需要JQuery,你可以用JavaScript来做,希望你得到它。
其他回答
[更新]在你继续之前考虑阅读这篇文章…
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对象,并增加月份
var dayOffset = 20;
var millisecondOffset = dayOffset * 24 * 60 * 60 * 1000;
december.setTime(december.getTime() + millisecondOffset);
编辑:尽管它对一些人有效,但我不认为它是完全正确的。我建议你用一个更流行的答案,或者使用http://momentjs.com/这样的东西
纯JS解决方案,具有日期格式YYYY-mm-dd格式
var someDate = new Date('2014-05-14'); someDate.setDate(someDate.getDate() + 15);//要加的天数,例如15天 var dateformatting = someDate.toISOString().substr(0,10); console.log (dateformat);
Krishna Chytanya的原型解决方案非常好,但需要一个微小但重要的改进。 days参数必须解析为Integer,以避免当days是“1”这样的字符串时进行奇怪的计算。(我花了好几个小时才弄清楚我的申请出了什么问题。)
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + parseInt(days));
return this;
};
即使你不使用这个原型函数: 当使用setDate()时,一定要确保有一个Integer。
这里有一个对我有用的解决办法。
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);
}