将月份添加到日期时刻js

时间:2018-10-04 16:32:32

标签: 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 currentDate = moment(start_date);
            var future_date = moment(currentDate).add(no_of_months, 'months');
            console.log(future_date);

        });

3 个答案:

答案 0 :(得分:3)

您可以通过以下方式实现此目的:

// 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>

答案 1 :(得分:2)

如果我更改为输入并在“月”字段中有一个值,则对我有用

$('#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" />

答案 2 :(得分:0)

我正在我的项目中使用它,这种逻辑对我来说很好用。
$ scope.o.DateOfBirth =“ 31/03/2021”;
var currentDate = moment($ scope.o.DateOfBirth,'DD / MM / YYYY')。format('YYYY-MM-DD');
var futureMonth = moment(currentDate).add(24,'month')。format(“ YYYY-MM-DD”);

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

输出:“ 2023-03-31”