【问题标题】:how can I check if a date is before a specific date with javascript [duplicate]如何使用javascript检查日期是否在特定日期之前[重复]
【发布时间】:2017-05-09 09:33:22
【问题描述】:

我是 javascript 新手,所以请耐心等待。我有一个 html 代码,其中有一个 html 日期输入。我想用 javascript 检查这个日期是否在特定日期之前。我怎样才能做到这一点?并且可以在用户提交表单之前完成检查吗?(我的意思是可以在用户选择日期时完成检查,而不是在他点击提交按钮之后,因为在日期输入之后,在表单结束之前还有更多输入)

【问题讨论】:

标签: javascript html date input


【解决方案1】:

很简单,Date实例可以直接比较。

$('.datepicker').datepicker({
    dateFormat: 'dd-mm-yy',
    numberOfMonths: 1,
    onSelect: function(selected,evnt) {
         compareTime(selected, time_you_want_to_compare);
    }
});

function compareTime(time1, time2) {
    return new Date(time1) > new Date(time2); // true if time1 is later
}

当您比较两个Date 实例或减去一个实例时,将在内部调用valueOf 方法,将实例转换为时间戳(精确到毫秒)。

function dateCompare(date1, date2){
    return new Date(date2) > new Date(date1);
}

// Demo (uses jQuery)

$("tbody tr").each(function(){
    $tr = $(this);
    $td = $tr.children('td');
    date1 = $td.eq(0).text();
    date2 = $td.eq(1).text();
    result = dateCompare(date1,date2);
    $td.eq(2).text(result);
    if($td.eq(2).text() == $td.eq(3).text()) $tr.css('background','green');
    else $tr.css('background','red');
});
table{
    border-collapse: collapse;
}
td{
    padding: 5px;
    border: 1px solid #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
    <thead>
        <tr>
            <td>date1</td>
            <td>date2</td>
            <td>Result</td>
            <td>Expected</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>01/12/2014</td>
            <td>02/24/2014</td>
            <td></td>
            <td>true</td>
        </tr>
        <tr>
            <td>01/12/2013</td>
            <td>02/24/2012</td>
            <td></td>
            <td>false</td>
        </tr>
        <tr>
            <td>01/12/2014</td>
            <td>02/24/2018</td>
            <td></td>
            <td>true</td>
        </tr>
        <tr>
            <td>01/12/2015</td>
            <td>02/24/2011</td>
            <td></td>
            <td>false</td>
        </tr>
    </tbody>
</table>

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多