JavaScript,获取第二天的日期

时间:2014-04-15 10:34:01

标签: javascript date

我有以下脚本,第二天返回:

function today(i)
    {
        var today = new Date();
        var dd = today.getDate()+1;
        var mm = today.getMonth()+1;
        var yyyy = today.getFullYear();

        today = dd+'/'+mm+'/'+yyyy;

        return today;   
    }

使用这个:

today.getDate()+1;

我将在本月的第二天(例如今天将获得16)。

我的问题是,这可能是在该月的最后一天,因此最终返回 32/4/2014

有没有办法可以获得第二天保证的正确日期?

3 个答案:

答案 0 :(得分:115)

您可以使用:

var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);

例如,由于4月份有30天,以下代码将输出5月1日:

var day = new Date('Apr 30, 2000');
console.log(day); // Apr 30 2000

var nextDay = new Date(day);
nextDay.setDate(day.getDate()+1);
console.log(nextDay); // May 01 2000    

请参阅fiddle

答案 1 :(得分:34)

从这里复制粘贴: Incrementing a date in JavaScript

  

为您提供三种选择:

     

仅使用JavaScript的Date对象(无库):

var today = new Date();
var tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000));
     

或者,如果您不介意更改日期(而不是创建日期)   一个新的日期):

var dt = new Date();
dt.setTime(dt.getTime() + (24 * 60 * 60 * 1000));
     

编辑:另请参阅Jigar的回答和David的评论:明天的var   = new Date();明天.setDate(tomorrow.getDate()+ 1);

     

使用MomentJS:

var today = moment();
var tomorrow = moment(today).add(1, 'days');
     

(请注意,add会修改您调用它的实例,而不是   返回一个新实例,所以today.add(1,' days')今天会修改。   这就是为什么我们从明天开始克隆op = ....)

     

使用DateJS,但它很长时间没有更新:

var today = new Date(); // Or Date.today()
var tomorrow = today.add(1).day();

答案 2 :(得分:1)

使用Date对象保证。例如,如果您尝试创建April 31st

new Date(2014,3,31)        // Thu May 01 2014 00:00:00
  

请注意,它已编入零索引,因此1月份为0,2月份为1等。