2016-10-28 8 views
0

я использовал DateTimePicker в https://github.com/xdan/datetimepicker, это так здорово, и я хочу, чтобы проверить диапазон дат этого в неделю (7 дней), я стараюсь сКак проверить диапазон дат в datetimepicker jquery?

   if ($("#FromDate").val() + 7 > $("#ToDate").val()) { 
        alert("Please choose a week"); 
       } 

примера некоторые случай:

Fromdate: 27/10/2016 Todate: 31/10/2016 : OK 
Fromdate: 27/10/2016 Todate: 2/11/2016 : OK 
Fromdate: 27/10/2016 Todate: 3/11/2016 : show alert 

Но, похоже, он не работает.

+0

Можете ли вы объяснить, что не работает? – James

+0

Уважаемые @James, я добавляю описания, PLS еще раз проверить. спасибо –

ответ

1

Я обновил ответ, и он работает нормально. Нажмите здесь jsFiddle

var fromDate = new Date($("#FromDate").val()); 
var sevenDate = new Date(fromDate.setDate(fromDate.getDate() + 7)); 
var toDate = new Date($("#ToDate").val()); 

if (sevenDate > toDate) { 
    alert("Please choose a week"); 
} 
+0

Это не работает. –

+0

все еще не работает? Я только что проверил ссылку, включенную в мой ответ, и все в порядке. Дай мне знать – yopez83

0

способ сделать это состоит в преобразовании даты строку в дату объекта с использованием new Date()
Но есть одна проблема, если вы используете формат 'dd/mm/yy' он не будет действовать в качестве даты, когда вы преобразовать его в new Date() просто переставить это формат Иньо допустимый формат я использую формат «уу-мм-дд»

HTML

Start: <input id="from" type="text" /><br /> 
End: <input id="to" type="text" /><br /> 
<input id="thesubmit" type="button" value="Submit" /> 

JAVASCRIPT

$(document).on('click', '#thesubmit', function() { 
    var from = new $("#from").val().split('/'); 
    var to = new $("#to").val().split('/'); 
    from = new Date(from[2]+'-'+from[1]+'-'+from[0]); 
    to = new Date(to[2]+'-'+to[1]+'-'+to[0]); 

    if (new Date(from) == 'Invalid Date' || new Date(to) == 'Invalid Date') { 
    return alert('Select a valid date'); 
    } 

    var timeDiff = Math.abs(to.getTime() - from.getTime()); 
     var diffDays = Math.ceil(timeDiff/(1000 * 3600 * 24)); 
     if (diffDays >= 7) { 
    alert('It is 1 week range'); 
    } 
}) 

DEMO