增加下个月的 JavasScript 日期对象,当天数增加时

Increment JavasScript date object for next month when days are increased?

本文关键字:增加 对象 下个月 JavasScript 日期      更新时间:2023-09-26

有没有一个简单的解决方案可以在通过getDate添加天数时自动递增日期对象的月份?

我需要在用户提供的日期上添加 2 天,例如,如果用户输入的值是 2014-11-16则返回2014-11-18.

我在下面的示例中使用它,但问题是如果用户在月底提供日期,例如2014-11-30它将返回2014-11-32(11 月只有 30 天(而不是滚动到下个月,它应该是2014-12-02

它也不会增加到新的一年。

 var actualDate = new Date(arrive);
        var year = actualDate.getFullYear();
        var monthy = actualDate.getMonth()+1;
        var days = actualDate.getDate()+2;
        var out = year + '-' + (monthy < 10 ? '0' : '') + monthy + '-' + days;

http://jsfiddle.net/bubykx1t/

只需使用 setDate() 方法即可。

var actualDate = new Date(arrive);
actualDate.setDate(actualDate.getDate() + 2);

查看此链接

您可以根据自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数创建新的 Date 对象。由于设置了分钟、小时、天、周中的毫秒数,我们可以向当前时间添加固定量,以便获得未来的时间。我们可以忘记它是每月的哪一天,或者一年中的哪一天,因为它是自 1970 年以来经过的毫秒数所固有的。这将正确调整到天数、月和年。

var numberOfDaysToIncrement = 7;
var offset = numberOfDaysToIncrement * 24 * 60 * 60 * 1000;
var date = new Date();
var dateIncremented = new Date(date.getTime() + offset);