JavaScript,获取第二天的日期

2022-08-30 02:41:07

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

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

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


答案 1

您可以使用:

var tomorrow = new Date();
tomorrow.setDate(tomorrow.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    

小提琴


答案 2

从这里复制粘贴:在 JavaScript 中递增日期

为您提供三个选项:

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

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

单线

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

或者,如果您不介意更改日期(而不是创建

新日期):

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

编辑:另请参阅Jigar的答案和David在下面的评论:var tomorrow = new Date();tomorrow.setDate(tomorrow.getDate() + 1);

使用 MomentJS:

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

(请注意,add 会修改您调用它的实例,而不是返回新实例,因此 today.add(1, 'days') 会在今天修改。这就是为什么我们从明天对var的克隆操作开始= ....)

使用 DateJS,但它已经很久没有更新了:

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