【问题标题】:How can I compare date/time values using the jQueryUI datepicker and HTML5 time input?如何使用 jQueryUI 日期选择器和 HTML5 时间输入来比较日期/时间值?
【发布时间】:2013-08-14 01:51:17
【问题描述】:

我想验证“开始”日期/时间对是否早于页面上的“结束”日期/时间对。我正在使用 jQueryUI 日期选择器和 HTML5 时间输入元素/小部件。

这个 jQuery:

    var begD = $.datepicker.parseDate('mm/dd/yy', $('#BeginDate').val());
    var endD = $.datepicker.parseDate('mm/dd/yy', $('#EndDate').val());
    if (begD > endD) {
            alert('Begin date must be before End date');
            $('#BeginDate').focus();
            return false;
    }    

(在此处的上下文中查看此脚本:http://jsfiddle.net/clayshannon/QCrXG/9/

...用于比较 datepicker vals,但我也需要合并时间元素,以便“结束”时间元素中的时间(在同一日期)早于“开始”时间元素也会将该范围标记为无效。

怎么做?

【问题讨论】:

    标签: jquery html jquery-ui jquery-ui-datepicker html-input


    【解决方案1】:

    这是一种方法。您需要测试日期是否相同,然后在其中将时间附加到您可以比较的新日期对象。 (可能有更快的方法来做到这一点,但这在测试中有效,这里:http://jsfiddle.net/mori57/SEqVE/):

    } else if(begD.toString() == endD.toString() ){
        var dteString = begD.getFullYear() + "/" + (begD.getMonth()+1) + "/" + begD.getDate();
        var begT = new Date(dteString + " " + $('#BeginTime').val());
        var endT = new Date(dteString + " " + $('#EndTime').val());
    
        if( begT > endT ){
            alert('Begin date must be before End date');
            $('#BeginTime').focus();
            return false;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多