Jquery检查日期是当前日期还是通过日期

时间:2014-06-30 20:03:10

标签: javascript jquery date

我没有使用日期选择器,我有一个字符串,它按以下方式输出日期:

<span class="expiry-date">30-Jun-2014</span>(对此无能为力,所以我必须使用它)

我正在检查当前日期并输出它以便它匹配此特定字符串:

 var d = new Date();

var day = d.getDate();

var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
    "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"
];

var month = monthNames[d.getMonth()];


var output = (('' + day).length < 2 ? '0' : '') + day + '-' + (('' + month).length < 2 ? '0' : '') + month + '-' + d.getFullYear();

然后我试图比较两者,看看“到期日期”中的日期是当前日期还是已经过去了:

 var expiryDate = $('.expiry-date').text();

      if ($('.expiration-settings').text() == "1"){

      }else{
    if (output >= expiryDate) {
        $('.event-price, #event-registration').hide();
        $('.expiry-date').text('This event is no longer open for registration');
    } else {
        $('.expiry-date').hide();
    }
           }

Live demo

我做错了,因为它只检查一天(数字,可以理解,但我不知道如何解决这个问题,所以它实际检查的是日期,而不仅仅是一个数字。)

有什么想法吗?谢谢!

编辑:我更改了DEMO,因此更容易看到我需要做什么。

1 个答案:

答案 0 :(得分:1)

你可以试试这个: -

if ($('.expiration-settings').text() == "1"){

}else{
var date = new Date($(".expiry-date").text().trim()).getTime(),
presentDate = new Date();
presentDate.setHours(0,0,0);
if(date>=presentDate.getTime()) {
$('.event-price, #event-registration').hide();
$('.expiry-date').text('This event is no longer open for registration');
} else {
$('.expiry-date').hide();
}
}