【问题标题】:Moment check if date difference is greater than X months时刻检查日期差异是否大于 X 个月
【发布时间】:2021-04-22 14:20:04
【问题描述】:

所以当我使用以下代码检查两个日期之间的差异是否为 X 天时

var selectedDate = moment(value, 'MM/DD/YYYY');
var today = moment();
today.diff(selectedDate, 'days');

我想检查所选日期和当前日期之间的差异是否超过 X 个月(例如 14 个月),然后我想提醒一些错误。

有没有使用 moment.js 的简单方法?我想要那个闰年,所有的也都被自动考虑。

【问题讨论】:

标签: javascript jquery momentjs


【解决方案1】:

您可以使用today.diff(selectedDate, 'months');

Documentation

【讨论】:

    【解决方案2】:

    var selectedDate = moment("2020-04-21").format('YYYYMMDD');
    var newdDate = moment("2020-01-22").format('YYYYMMDD');
    var today = moment();
    
    var difference = today.diff(selectedDate, 'months');
    console.log('Difference', difference);
    
    var diff = today.diff(newdDate, 'months');
    console.log('New Date Difference', diff);
    
    var floatingDiff = today.diff(selectedDate, 'months', true);
    console.log('Floating', floatingDiff);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

    【讨论】:

    • 谢谢...好像有确切的 15 个月差异,例如比如 2020 年 1 月 22 日,逻辑可能无法正常工作......
    • @testndtv 你可以依赖没有第三个参数'true'的脚本。它总是会给出四舍五入的月差。
    【解决方案3】:

    您可以使用moment().diff() 来计算今天和所选日期之间的差异,或者如果您想要任何其他日期之间的差异,则可以将新日期传递给时刻。

     import moment from "moment";
        const selectedDate = "2020-04-27";
        const date_temp = moment().diff(selectedDate, 'months');
        console.log(date_temp);
    

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2020-03-06
      相关资源
      最近更新 更多