简体   繁体   English

如何使用jQuery比较两个日期选择器日期

[英]How to compare two datepicker dates using jQuery

This is my code:这是我的代码:

var $from = $("#fromDate").datepicker('getDate');
var $to = $("#toDate").datepicker('getDate');
if($from > $to)
   alert("from date shouldn't greater than To date");

It is working if it is two dates in the same year.如果它是同一年的两个日期,则它正在工作。 Otherwise, for example fromDate='1/12/2012'(dd/mm/yyyy) toDate='18/6/2013'(dd/mm/yyyy), while you check the condition, it is not working.否则,例如 fromDate='1/12/2012'(dd/mm/yyyy) toDate='18/6/2013'(dd/mm/yyyy),当您检查条件时,它不起作用。 It throws an alert, which is given.它抛出一个警报,这是给定的。

Auto limit your dates instead.改为自动限制您的日期。 In this example the second combo box won't allow you to pick a lower date than the one you pick on the first one.在此示例中,第二个组合框不允许您选择比您在第一个组合框中选择的日期低的日期。

$(document).ready(function() {

  $("#txtFromDate").datepicker({

    numberOfMonths: 2,

    onSelect: function(selected) {
      $("#txtToDate").datepicker("option", "minDate", selected)
    }
  });

  $("#txtToDate").datepicker({

      numberOfMonths: 2,

      onSelect: function(selected) {
         $("#txtFromDate").datepicker("option", "maxDate", selected)

      }
  });
});

Here is a working demo .这是一个工作演示

You need to use this to get the day/month/year:您需要使用它来获取日/月/年:

var day1 = $("#datepicker").datepicker('getDate').getDate();
var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;
var year1 = $("#datepicker").datepicker('getDate').getFullYear();

After that, you can compare the values.之后,您可以比较这些值。

Date.parse(fromDate) > Date.parse(toDate)

Example例子

var sDate = $('#EFT_FRM_DATE').val();
var eDate = $('#EFF_TO_DATE').val();

if (Date.parse(sDate) > Date.parse(eDate) || Date.parse(sDate) == Date.parse(eDate)) {
   ShowMessage(CurrencySetupExchangeIndex.EndDateGreaterStartDate, 'Error');
   //alert
   return false;
   return;
}

Simplified statement:简化语句:

if (Date.parse(sDate) >= Date.parse(eDate)) {...

 $(document).ready(function() { $("#startdate").datepicker({ todayBtn: 1, format: "dd-mm-yyyy", startDate: '1d', autoclose: true, }).on('changeDate', function (selected) { var minDate = new Date(selected.date.valueOf()); $('#enddate').datepicker('setStartDate', minDate); if($('#enddate').val() != "" && ($("#enddate").datepicker("getDate") == null || Date.parse($("#enddate").datepicker("getDate"))< Date.parse($("#startdate").datepicker("getDate")))) { var date = new Date($("#startdate").datepicker("getDate")).toLocaleDateString(); date = date.split("/") date = date[0] + "-" + date[1] + "-" + date[2] $('#enddate').val(date) } }); $("#enddate").datepicker({ format: "dd-mm-yyyy", autoclose: true, }) });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM