我有一个日期格式为dd-mm-yyyy的字符串
如何在字符串中添加4周,然后使用jQuery / Javascript生成新字符串?
我有
var d = new Date(current_date);
d.setMonth(d.getMonth() + 1);
current_date_new = (d.getMonth() + 1 ) + '-' + d.getDate() + '-' + d.getFullYear();
alert(current_date_new);
但它抱怨提供的字符串格式不正确
最佳答案
编辑:fiddling有点后,这是解决方案:
首先,将字符串拆分为各个部分。
var inputString = "12-2-2005";
var dString = inputString.split('-');
然后,将字符串解析为datetime对象,并为其添加28天(4周)。
var dt = new Date(dString[2],dString[1]-1,dString[0]);
dt.setDate(dt.getDate()+28);
最后,您可以输出日期
var finalDate = dt.GetDate() + "-" + (dt.GetMonth()+1) + "-" + dt.GetYear();
此代码应返回
12-3-2005
。提示:似乎JavaScript的Date对象将0-11用作month字段,因此在代码中将-1和+1表示为month。
EDIT2:要执行填充,请使用以下功能:
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
并将您的输出更改为
var finalDate = pad(dt.GetDate(),2) + "-" + pad(dt.GetMonth()+1,2) + "-" + dt.GetYear();
检查更新的小提琴。