我有一个动态添加行的表。天数等于用户插入的日期的日期差异。在动态行上我想添加三个字段。前两个是日期和日期。为此,我需要知道下一个日期和相应的日期。例如,用户输入10-2-2012。我需要插入下一个日期,如17-2-2012,18-2-2012 ......以及相应的日子,如周三,周四......等等 我使用以下函数来获取下一个日期
function getTomorrow(d,offset)
{
if (!offset)
{
offset = 1
}
return new Date(new Date().setDate(d.getDate() + offset));
}
但它显示错误16-2-2012没有getDate()函数。我无法找到下一个日期和相应的日期。有没有办法得到它?
答案 0 :(得分:4)
您必须将字符串d
转换为Date
对象:
function getTomorrow(d,offset){
if (!offset){
offset = 1;
}
if(typeof(d) === "string"){
var t = d.split("-"); /* splits dd-mm-year */
d = new Date(t[2],t[1] - 1, t[0]);
// d = new Date(t[2],t[1] - 1, t[0] + 2000); /* for dd-mm-yy */
}
return new Date(d.setDate(d.getDate() + offset));
}
document.write(getTomorrow('16-02-2012',20) + ' test');
var k = getTomorrow('16-02-2012',1);
var myTime = k.getDate()+'-'+(k.getMonth()+1)+'-'+k.getFullYear();
alert(myTime);
JSFiddle Demo。另请参阅http://www.w3schools.com/jsref/jsref_obj_date.asp。
答案 1 :(得分:3)
var d=new Date();
d.setTime((d.getTime() + 86400 * 1000*1));
document.write(d);
document.write(d.getDay()+"-"+parseInt(d.getMonth()+1)+"-"+d.getFullYear());
如果您需要知道后天的日期,只需将1000 * 1更改为1000 * 2.
答案 2 :(得分:-1)
我举个例子
var year = 2010, month = 9, day = 14;
// The value of `meses`
var offset = 1; // Tomorow
var future_date = new Date(year, month , day+offset);
console.log(future_date);