【问题标题】:Moment.js add month is not workingMoment.js 添加月份不起作用
【发布时间】:2016-10-04 05:27:23
【问题描述】:

我想将 X 个月添加到给定日期。为此我使用了 add

moment(date).add(2, 'm').format("DD/MM/YYYY");

通过使用这样的月份不添加。

建议添加月份的正确方法。

【问题讨论】:

  • 大写 M 代表月份,小写 m 代表分钟

标签: momentjs


【解决方案1】:

怎么样

moment(date).add(2, 'month').format("DD/MM/YYYY");

【讨论】:

  • 现在已弃用
  • @Omer 如果您包含更改的版本会很好。
【解决方案2】:
moment().add('month', 1) 

这将增加 1 个月。

moment(your_date, 'DD-MM-YYYY').add('month', 1)

这将使您的日期增加 1 个月的格式。

【讨论】:

    【解决方案3】:

    您的代码现在是:

    var timestring1 = "2013-05-09T00:00:00Z";
    var timestring2 = "2013-05-09T02:00:00Z";
    var startdate = moment(timestring1);
    var expected_enddate = moment(timestring2);
    var returned_endate = moment(startdate).add(2, 'hours');  // see the cloning?
    returned_endate.isSame(expected_enddate)  // true
    

    【讨论】:

    • 您确定您回答的问题正确吗?
    【解决方案4】:

    Veeram 的评论对我有用,但还要确保您的日期变量的值以前没有被格式化,并且它与已知的 ISO 8601 格式匹配。

    https://momentjs.com/docs/#/parsing/

    【讨论】:

      【解决方案5】:

      你可以试试

      moment().add(moment.duration({ M: 1 })).format("DD/MM/YYYY");
      

      【讨论】:

        【解决方案6】:

        我在我的项目中使用这个,这个逻辑对我来说很好。
        $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”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多