Javascript 解析后的日期比较不起作用

Javascript 解析后的日期比较不起作用,javascript,jquery,Javascript,Jquery,我试图在遍历集合之后隐藏与集合日期()不匹配的一系列div元素。但是由于日期有两种不同的格式,我需要在进行比较之前将它们转换为一种标准格式。不幸的是,这不起作用,尽管日期匹配,但所有div元素都被隐藏。有人知道出了什么问题吗?谢谢 Jsfiddle: HTML <input type="text" class="form-control date" value="04/06/2015"> <button type="button" class="btn btn-primary"

我试图在遍历集合之后隐藏与集合日期()不匹配的一系列div元素。但是由于日期有两种不同的格式,我需要在进行比较之前将它们转换为一种标准格式。不幸的是,这不起作用,尽管日期匹配,但所有div元素都被隐藏。有人知道出了什么问题吗?谢谢

Jsfiddle:

HTML

<input type="text" class="form-control date" value="04/06/2015">
<button type="button" class="btn btn-primary" id="search-button">Search</button>
<div class="rideshare-item" data-date="2015-06-04">04/06/2015</div>
<div class="rideshare-item" data-date="2015-06-05">05/06/2015</div>

更改
parseDateEntry(日期)==parseDateAttribute(共享数据)

to
parseDateEntry(date).getTime()==parseDateAttribute(rideshareDate).getTime()


将起作用。

比较日期对象似乎总是返回false,即使时间在同一点上。“var a=new Date();var b=new Date(a.getTime());a==b”返回false。在输入框中只能指定一个日期,对吗?如果是,如果用户只指定一个日期,如何隐藏“日期范围”。这解释了为什么
parseDateEntry(date)==parseDateAttribute(rideshareDate)
失败。
$('body').on('click', '#search-button', function (event) {
    var date = $('.date').val().trim();
    $('.rideshare-item, .no-result').hide();
    $('.rideshare-item').each(function (a, b) {
        var rideshareDate = $(b).data('date');
        if (date.length == 0) {
            $(this).closest('.rideshare-item').show();
        } else if (date.length > 0) {
            var timestamp = Date.parse(date)
            if (isNaN(timestamp) == false) {
                if (parseDateEntry(date) == parseDateAttribute(rideshareDate)) {
                    $(this).closest('.rideshare-item').show();
                }
            }
        }
    });
});

function parseDateEntry(input) {
    var parts = input.split('/');
    // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
    return new Date(parts[2], parts[1] - 1, parts[0]);
}

function parseDateAttribute(input) {
    var parts = input.split('-');
    // new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
    return new Date(parts[0], parts[1] - 1, parts[2]);
}