如何使用 JavaScript\JQuery 检查一个日期是否早于另一日期?

2024-02-21

我在 JavaScript 开发方面绝对是新手,我必须执行以下任务:我有 2input包含 2 个表示表单中日期的字符串的标签2014年1月12日 (日月年)。我使用此输入标记来搜索具有这些日期中的日期字段的对象。

<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
                                           onchange="cambioDataDa(this.value)"
                                           name="dataDa" id="datada" value="<%=request.getSession().getAttribute("dataDa")%>"
                                           style="font-size: 11px;color: #000000;">

<input type="hidden" size="9" class="impPrfTot" readonly="readonly"
                                           onchange="cambioDataA(this.value); checkData(this.value)"
                                           name="dataA" id="dataa" value="<%=request.getSession().getAttribute("dataA")%>"
                                           style="font-size: 11px;color: #000000;">

<button class="dataDadataAButton" name="submitdataDadataA" onclick="sottomettiFormDataDaA(this)">Cerca</button>

最后我有一个button用于使用以下 JavaScript 提交此表单:

function sottomettiFormDataDaA(obj) {
    document.getElementById('dataDaAForm').submit();
}

我需要的是防止里面的值dataA(英语 dateTo)输入是之前的那个dataDa值(英语dateFrom).

我正在尝试做这样的事情:

  1. JavaScript 被调用于onchange数据更改的事件并获取 dataA 字符串(代表日期到日期)并检查它是否是先前的数据(日期到日期)。

  2. 如果前面的检查为真,则日期范围无效,因此脚本会显示错误弹出消息,并禁止提交 id="dataDaAForm" 的表单

    function checkData(dataA) {
        dataDa = document.getElementById('dataDa').value;
    
        if(dataDa > dataA){
            // SHOW A POPUP ERROR MESSAGE
            // DISALLOW THE FORM SUBMIT
        }
    }
    

但是我真的不知道如何完成这个 JavaScript,而且我不知道是否存在更好的解决方案来完成这个任务。


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

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

当你比较两个Date实例,或相互减去,valueOf方法将在内部调用,将实例转换为时间戳(毫秒级精确).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 JavaScript\JQuery 检查一个日期是否早于另一日期? 的相关文章

随机推荐