javascript - 如果月份是从 29、30、31 开始的 1 月,如何添加下一个订阅日期以避免在 javascript 中出现 2 月的同一日期?

标签 javascript datetime calendar set

<分区>

我想设置下个月的月份日期自订阅之日起。

示例:如果今天是 1 月 30 日,那么下一个订阅日期应该更改为 1 月 30 日之后的 30 天,这意味着如果月份不是闰月,那么它应该设置为 2nd March 而不是 30th Feb

此外,当月份为 December 时,月份应设置为 Jan。

这是我想使用的代码,它解决了我的 Dec to Jan 问题,但我仍然不确定 February 问题。

var now = new Date();
if (now.getMonth() == 11) {
    var current = new Date(now.getFullYear() + 1, 0, now.getDate());
} else {
    var current = new Date(now.getFullYear(), now.getMonth() + 1, now.getDate());
}

最佳答案

当前日期加上30天会自动得到30天后的下一个实际日期

无论该月有多少天,Date 对象都会计算下一个日期

let someDate = new Date();
let numberOfDays = 30;

someDate.setDate(someDate.getDate() + numberOfDays); 
let dateFormated = someDate.toISOString().substr(0,10);
console.log(dateFormated);

someDate = new Date('2020-09-10');
someDate.setDate(someDate.getDate() + numberOfDays); 
dateFormated = someDate.toISOString().substr(0,10);
console.log(dateFormated);

关于javascript - 如果月份是从 29、30、31 开始的 1 月,如何添加下一个订阅日期以避免在 javascript 中出现 2 月的同一日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65715968/

相关文章:

Zabuto 日历中的 Javascript onclick 事件

时间表的数据库架构设计

javascript - 迭代数组

python - 是否有更优雅的方法来处理此抓取工具中的空值?

javascript - 如何blit DOM?

jquery - 删除时区jquery

java - Date.from(ZonedDateTime to instant) 返回前一天

javascript - 为什么 IE8 中不显示 Jquery 日期选择器图标?

javascript - 将两个或多个数据绑定(bind)到 VueJ 中的表单输入

javascript - 寻找 "big navigation"的正确命名以及一些 jQuery 的演示示例