add month to a date moment js

2019-02-25 10:10发布

I am trying to add no of months to a given date using js. fd_start_date has the start date, but moment.js returns "Invalid Date". I am using date picker to select date in format 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);

        });

2条回答
The star\"
2楼-- · 2019-02-25 10:14

Works for me if I change to on input and have a value in the month field

$('#fd_start_date, #fd_duration').on("input",function() {
  var start_date = $("#fd_start_date").val();
  if (start_date) {
    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);
  }  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

<input type="date" id="fd_start_date" /><input type="number" id="fd_duration" value="1" />

查看更多
女痞
3楼-- · 2019-02-25 10:35

You can achieve this in the following way:

// Getting the current moment
const currentTime = moment()

// Adding a month to it
const futureMonth = currentTime.add(1, 'M');

console.log(futureMonth)
<script src="https://rawgit.com/moment/moment/2.2.1/min/moment.min.js"></script>

查看更多
登录 后发表回答