我需要能够添加1,2,5或10天到今天的日期使用jQuery。
当前回答
[更新]在你继续之前考虑阅读这篇文章…
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,不需要jQuery:
var someDate = new Date();
var numberOfDaysToAdd = 6;
var result = someDate.setDate(someDate.getDate() + numberOfDaysToAdd);
console.log(new Date(result))
您可以像这样扩展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);
我发现JavaScript可以返回一个正确的日期,当你使用新的日期(nYear, nMonth, nDate);那个月的最后几天。 当你使用这个函数时,试着看看dDate变量的结果:
var dDate = new Date(2012, 0,34);//结果是2月3日2012
我有一个SkipDate函数来分享:
function DaysOfMonth(nYear, nMonth) {
switch (nMonth) {
case 0: // January
return 31; break;
case 1: // February
if ((nYear % 4) == 0) {
return 29;
}
else {
return 28;
};
break;
case 2: // March
return 31; break;
case 3: // April
return 30; break;
case 4: // May
return 31; break;
case 5: // June
return 30; break;
case 6: // July
return 31; break;
case 7: // August
return 31; break;
case 8: // September
return 30; break;
case 9: // October
return 31; break;
case 10: // November
return 30; break;
case 11: // December
return 31; break;
}
};
function SkipDate(dDate, skipDays) {
var nYear = dDate.getFullYear();
var nMonth = dDate.getMonth();
var nDate = dDate.getDate();
var remainDays = skipDays;
var dRunDate = dDate;
while (remainDays > 0) {
remainDays_month = DaysOfMonth(nYear, nMonth) - nDate;
if (remainDays > remainDays_month) {
remainDays = remainDays - remainDays_month - 1;
nDate = 1;
if (nMonth < 11) { nMonth = nMonth + 1; }
else {
nMonth = 0;
nYear = nYear + 1;
};
}
else {
nDate = nDate + remainDays;
remainDays = 0;
};
dRunDate = Date(nYear, nMonth, nDate);
}
return new Date(nYear, nMonth, nDate);
};
你可以使用这个库“Datejs开源JavaScript日期库”。
你可以尝试这个,不需要JQuery: timeSolver.js
例如,今天加上5天:
var newDay = timeSolver.add(new Date(),5,"day");
你也可以按小时、月等添加。 请查看更多信息。