2013-06-18 2 views
9

Кто-нибудь может помочь мне, ребята. это мой кодКак сравнить две даты датпикера jQuery

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

он работает, если это две даты же года в год. в противном случае, например, fromDate = '1/12/2012' (dd/mm/yyyy) toDate = '18/6/2013 '(dd/mm/yyyy), пока вы проверяете условие, оно не работает. он бросает предупреждение, которое я дал.

+1

Возможный дубликат ... http://stackoverflow.com/questions/492994/compare-dates-with -javascript –

+0

кажется прекрасным для меня http://jsfiddle.net/arunpjohny/kKh2J/1/ –

+1

mr Arun P Johny, который не работает должным образом. не могли бы вы еще раз это сделать –

ответ

24

Могу ли я предложить авто, ограничивающий ваши даты вместо этого? В этом примере второе поле со списком не позволит вам выбрать более низкую дату, чем тот, который вы выбираете на одном из них.

$(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) 

     } 

    }); 

}); 

Вот рабочая demo

+2

Спасибо большое! Ты спас мой день! –

+0

Я знаю, что добавляю комментарий для старого сообщения, но может ли он работать без JQuery UI? Сейчас я использую JQuery 1.9.1 и пытаюсь использовать datepicker, но когда я удаляю UI из JSFiddle, он перестает работать. Есть идеи? – Mkalafut

+0

Очень полезно! но я хочу знать, как предотвратить выбор в тот же день в поле 'txtFromDate'? Благодаря! – candlejack

2

Вы должны использовать это, чтобы получить день/месяц/год

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

После этого вы можете сравнить значения.

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

Excample

var sDate = $('#EFT_FRM_DATE').val(); 
    var sDate = $('#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; 
} 
Смежные вопросы