Javascript MomentJS取整日期到下一个有效日期

Javascript MomentJS取整日期到下一个有效日期,javascript,momentjs,Javascript,Momentjs,我有一个变量X,它是一个从1到31的数字,还有一个例行程序检查今天是否是X/本月/本年。问题是,如果用户输入的数字不是当前月份的有效日期,比如31,那么该日期将显示为2020年6月31日 我很快研究了MomentJS文档,在找到一个有效日期之前,没有看到任何本机函数可以将一天的时间加起来。我目前的解决方案是这样的: let x = 31; let validDate = moment(x + '/06/2020'); while(!validDate.isValid()) { x =

我有一个变量X,它是一个从1到31的数字,还有一个例行程序检查今天是否是X/本月/本年。问题是,如果用户输入的数字不是当前月份的有效日期,比如31,那么该日期将显示为2020年6月31日

我很快研究了MomentJS文档,在找到一个有效日期之前,没有看到任何本机函数可以将一天的时间加起来。我目前的解决方案是这样的:

let x = 31;
let validDate = moment(x + '/06/2020');

while(!validDate.isValid()) {
    x = getNextDayOfMonth(x); // in case of 31, would return 1;
    validDate = moment(x + '/06/2020');
}
还有比这更好的方法吗?至少在我看来,对于一些应该更简单的东西,我感到非常不舒服。

也许添加api就是您想要的:

时刻'06/30/2020'。添加1,'d'。格式'YYYY-MM-DD'//2020-07-01 力矩'12/31/2020'。添加1,'d'。格式'YYYY-MM-DD'//2021-01-01 编辑: 您应该检查日期编号,然后减去1,再加上一天:

如果dateNumber>1{ 日期编号-=1 } 时刻`${dateNumber}/06/2020`,DD/MM/YYYY.add1,'d'。格式为'YYYY-MM-DD'
遗憾的是,它不适用于无效日期:时刻'31/06/2020','DD/MM/YYYY'。add1,'d'导致无效date@FelipeWagner日期格式是月/日/年,我第一次尝试时也得到了无效的日期,在我找到正确的位置后,正如我在上面展示的那样,我不知道为什么它不能像我传递format参数那样工作。谢谢你,先生。@FelipeWagner好的,我应该告诉你检查日期数字,如果大于一,如果为真,你从数字中减去一,然后执行加法函数,让矩计算一个有效的日期