Javascript 将月份添加到日期

Javascript 将月份添加到日期,javascript,momentjs,Javascript,Momentjs,我正在尝试使用js向给定日期添加月数。fd_start_date具有开始日期,但moment.js返回“无效日期”。我正在使用日期选择器以YYYY-MM-DD格式选择日期 $('#fd_start_date').click(function () { var start_date=$("#fd_start_date").val(); var no_of_months=$("#fd_duration").val(); var

我正在尝试使用js向给定日期添加月数。fd_start_date具有开始日期,但moment.js返回“无效日期”。我正在使用日期选择器以YYYY-MM-DD格式选择日期

$('#fd_start_date').click(function () {
            var start_date=$("#fd_start_date").val();
            var no_of_months=$("#fd_duration").val();
            var currentDate = moment(start_date);
            var future_date = moment(currentDate).add(no_of_months, 'months');
            console.log(future_date);

        });

您可以通过以下方式实现这一点:

//获取当前时刻
常数currentTime=力矩()
//再加上一个月
const futuremount=currentTime.add(1,'M');
console.log(未来月)

如果我更改为on input,并且在month字段中有一个值,则对我有效

$('fd#u开始日期,'fd#u持续时间')。在(“输入”,函数()上){
var start_date=$(“#fd_start_date”).val();
如果(开始日期){
var no_of_months=$(“#fd_duration”).val();
var currentDate=时刻(开始日期);
var future_date=时刻(currentDate)。添加(没有月数,'月');
console.log(未来的_日期);
}  
});

我正在我的项目中使用这个逻辑,这个逻辑对我来说很好。
$scope.o.DateOfBirth=“31/03/2021”
var currentDate=时刻($scope.o.DateOfBirth,'DD/MM/yyyyy')。格式('YYYY-MM-DD')
var futureMonth=时刻(当前日期)。添加(24,'月')。格式(“YYYY-MM-DD”)

console.log(currentDate.format('DD-MM-YYYY'))
console.log(futuremount.format('DD-MM-YYYY')


输出:“2023-03-31”

在定义未来日期之前,不超过个月的值是多少?可以是一个值,1到36个月。如果开始日期为今天,如果月数为1,则未来日期应为2018-11-04,只需更改代码以添加
.format()
<代码>常量未来月=当前时间。添加(1,'M')。格式('YYYY-MM-DD')和个人偏好的注释,但任何时候我使用日期数学(比如在
add()
)时,我更喜欢在我匹配的单元中明确:(
add(1,'month')
add(42,'year')
)和最后一个注释,对于日期屏蔽,大小写在这里很重要
YYYY-MM-DD
yyy-MM-DD
大不相同。