使用Moment.js检查日期是否超过现在的x年

时间:2018-10-03 12:31:32

标签: javascript datatables momentjs

我需要检查我的日期是否从今天开始已经超过X年前了。

例如;如果2018年1月1日距现在已经超过3年前,则将其上色为琥珀色,否则,如果距现在4年前已超过,则将其上色为红色。

到目前为止,我只是使用了diff(),但这并不是我真正需要的。

                var difference = moment(data.purchase_date, "YYYY-MM-DD").month(0).from(moment().month(0));

            if ( difference === "3 years ago") {
              $("td:eq(5)", row).addClass("bgc-orange-50");
            } else if(difference === "4 years ago") {
              $("td:eq(5)", row).addClass("bgc-red-50");
            }

2 个答案:

答案 0 :(得分:1)

我已经解决了。

    var purchase_date = moment(data.purchase_date, "YYYY-MM-DD");
    var now = moment();

    var difference = now.diff(purchase_date, 'days');

然后执行if语句以检查日期是否大于1095但小于1460等。

答案 1 :(得分:0)

    var a = moment("2015-05-05", "YYYY") // year in your date
    var b = moment(new Date(), "YYYY") // current year
    
    var yearCountDiff = b.diff(a, 'year')
    console.log(yearCountDiff)

    if ( yearCountDiff === 3) {
       console.log ('3 years')
       // $("td:eq(5)", row).addClass("bgc-orange-50");
    } else if(yearCountDiff === 4) {
      console.log ('4 years')
       // $("td:eq(5)", row).addClass("bgc-red-50");
    }
<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>