如何比较输入日期不到两个月或大于今天的日期

时间:2017-05-07 21:17:45

标签: jquery

在Jquery中,我想在输入日期少于两个月或者大于今天的日期时抛出错误。我开始比较两个月前的日期。输入日期格式为dd / mm / yyyy。

我做了如下,但它无法正常工作

var tbStartDate = "07/05/2017";
      var twoMonthsOldDate = new Date();
                        twoMonthsOldDate = new Date(twoMonthsOldDate .setMonth(twoMonthsOldDate .getMonth() - 2));
                        alert(twoMonthsOldDate );
                        alert(tbStartDate);
                        if (tbStartDate < twoMonthsOldDate) {
                            alert('is less');
                        }

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样:

var tbStartDate = new Date("07/05/2017").getTime() / 1000;
      var twoMonthsOldDate = new Date();
                        twoMonthsOldDate = new Date(twoMonthsOldDate.setMonth(twoMonthsOldDate.getMonth() - 2)).getTime() / 1000;
                        console.log(twoMonthsOldDate );
                        console.log(tbStartDate);
                        if (tbStartDate < twoMonthsOldDate) {
                            alert('is less');
                        }

基本上,我将你的日期转换为纪元,所以我可以比较它们。如你所知,它们是不同的格式,所以你无法有效地比较。

现在,您可以包含一个名为moment.js的库,并将其修剪下来并使其更具可读性。

var tbStartDate = moment("02/05/2017");
      var twoMonthsOldDate = moment().subtract(2, 'month');
                        if (twoMonthsOldDate.isAfter(tbStartDate)) {
                            alert('is less');
                        }