获取下一个日期和日期

时间:2012-02-16 08:33:18

标签: javascript jquery

我有一个动态添加行的表。天数等于用户插入的日期的日期差异。在动态行上我想添加三个字段。前两个是日期和日期。为此,我需要知道下一个日期和相应的日期。例如,用户输入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()函数。我无法找到下一个日期和相应的日期。有没有办法得到它?

3 个答案:

答案 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);