我找到了一段代码,可以在给定日期上添加天数。但是,它仅在日期为YY-MM-DD
格式时有效,但在格式为时无效DD-MM-YY
。
小提琴YY-MM-DD
格式(工作)
小提琴DD-MM-YY
格式(不工作)
我进一步检查了如果我发出警报,someDate.getDate()
它说NaN
不是数字
someDate = new Date('27-08-2013');
alert(someDate.getDate()); //NaN
任何帮助将不胜感激。
我总是创建 7 个函数来处理 JS 中的日期:addSeconds、addMinutes、addHours、addDays、addWeeks、addMonths、addYears。它们都以任何格式工作。
你可以在这里看到一个例子:http: //jsfiddle.net/tiagoajacobi/YHA8x/
如何使用:
var now = new Date();
console.log(now.addWeeks(3));
这是功能:
Date.prototype.addSeconds = function(seconds) {
this.setSeconds(this.getSeconds() + seconds);
return this;
};
Date.prototype.addMinutes = function(minutes) {
this.setMinutes(this.getMinutes() + minutes);
return this;
};
Date.prototype.addHours = function(hours) {
this.setHours(this.getHours() + hours);
return this;
};
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + days);
return this;
};
Date.prototype.addWeeks = function(weeks) {
this.addDays(weeks*7);
return this;
};
Date.prototype.addMonths = function (months) {
var dt = this.getDate();
this.setMonth(this.getMonth() + months);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};
Date.prototype.addYears = function(years) {
var dt = this.getDate();
this.setFullYear(this.getFullYear() + years);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};
如果您的输入是 DD-MM-YY,您可以尝试 split
输入字符串。检查我的小提琴:
我split
输入字符串,然后在日期函数中输入所需的格式。