2016-04-21 6 views
0

Я начинаю с javascript, и мое дело кажется мне очень сложным! я пытаюсь сравнивать сегодняшнюю дату «DateFinReele» Дата мои «DateFinReele» дата вс быть меньше текущей даты у меня есть еще один контроль над «DateDebut», «DateFinPrevue» и «DateFinReele» «DateFinPrevue» и «DateFinReele» должны быть меньше, чем «DateDebut» , когда я удалить мои функции checkDateInpuWithTodays() другие контрольные работы очень хорошо, но когда я добавить его ничего не работает (даже другой контроль !!!)сравнение дат с javascript asp.net mvc

script > 
 
    $(document).ready(function() { 
 
    function DateDebutChange() { 
 
     var DateDebutDate = DateDebut.value(), 
 
     DateFinPrevueDate = DateFinPrevue.value(), 
 
     DateFinReeleDate = DateFinReele.value(); 
 
     if (DateDebutDate) { 
 
     DateDebutDate = new Date(DateDebutDate); 
 
     DateDebutDate.setDate(DateDebutDate.getDate()); 
 
     DateFinPrevue.min(DateDebutDate); 
 
     DateFinReele.min(DateDebutDate); 
 
     } else if (DateFinPrevueDate) { 
 
     DateDebut.max(new Date(DateFinPrevueDate)); < 
 
     } else if (DateFinReeleDate) { 
 
     DateDebut.max(new Date(DateFinReeleDate)); 
 
     } else { 
 
     DateFinPrevueDate = new Date(); 
 
     DateFinReeleDate = new Date(); 
 
     DateDebut.max(DateFinPrevueDate); 
 
     DateFinPrevue.min(DateFinPrevueDate); 
 
     } 
 
    } 
 

 
    function DateFinReeleChange() { 
 
     var DateFinReeleDate = DateFinReele.value(), 
 
     DateDebutDate = DateDebut.value(), 
 
     DateFinPrevueDate = DateFinPrevue.value(); 
 
     if (DateFinReeleDate) { 
 
     DateFinReeleDate = new Date(DateFinReeleDate), 
 
      DateFinPrevueDate = DateFinPrevue.value(), 
 
      DateDebutDate = DateDebut.value(); 
 
     } else if (DateDebutDate) { 
 
     DateFinPrevue.min(new Date(DateDebutDate)), 
 
      DateFinReele.min(new Date(DateDebutDate)); 
 
     } else { 
 
     DateFinPrevueDate = new Date(); 
 
     DateDebut.max(DateFinPrevueDate) 
 
     DateDebut.max(DateFinReeleDate) 
 
     DateFinPrevue.min(DateFinPrevueDate); 
 
     DateFinReele.min(DateFinReeleDate) 
 
     } 
 
    } 
 

 
    function DateFinPrevueChange() { 
 
     var DateFinPrevueDate = DateFinPrevue.value(), 
 
     DateDebutDate = DateDebut.value(); 
 
     if (DateFinPrevueDate) { 
 
     DateFinPrevueDate = new Date(DateFinPrevueDate); 
 
     DateFinPrevueDate.setDate(DateFinPrevueDate.getDate()); 
 
     DateDebut.max(DateFinPrevueDate); 
 
     } else if (DateDebutDate) { 
 
     DateFinPrevue.min(new Date(DateDebutDate)); 
 
     } else { 
 
     DateFinPrevueDate = new Date(); 
 
     DateDebut.max(DateFinPrevueDate) 
 
     DateFinPrevue.min(DateFinPrevueDate); 
 
     } 
 
    } 
 

 
    function checkDateInpuWithTodays() { 
 
     var x = new Date(); 
 
     var DateFinReeleDate = DateFinReele.value(); 
 
     if (DateFinReeleDate.value > x.valueOf()) { 
 
     alert("La date de fin du projet doit être inférieure à celle d'aujourd'hui !") 
 
     DateFinReele.value = null; 
 
     DateFinReele.ready; 
 
     } 
 
    } 
 
    var DateDebut = $("#DateDebut").kendoDatePicker({ 
 
     change: DateDebutChange 
 
    }).data("kendoDatePicker"); 
 
    var DateFinPrevue = $("#DateFinPrevue").kendoDatePicker({ 
 
     change: DateFinPrevueChange 
 
    }).data("kendoDatePicker"); 
 
    var DateFinReele = $("#DateFinReele").kendoDatePicker({ 
 
     change: DateFinReeleChange 
 
    }).data("kendoDatePicker"); 
 
    DateDebut.max(DateFinPrevue.value()); 
 
    DateFinPrevue.min(DateDebut.value()); 
 
    DateFinReele.min(DateDebut.value()); 
 
    var DateFinReele = $("DateFinReele").kendoDatePicker({ 
 
     change: checkDateInpuWithTodays 
 
    }).data("kendoDatePicker"); 
 
    DateFinReele.max(new Date().valueOf()); 
 
    }); < /script>

can anybo dy help me

+0

разместить целую кучу asp.net кода не поможет, что много. Что такое javascript? –

+0

вы правы! Извини ! я обновил свой пост, взгляните пожалуйста – kokomoi

+0

Я понимаю, что ваша функция «checkDateInpuWithTodays» не только не работает, но и разрывает все. У вас есть какие-либо ошибки в консоли? –

ответ

2

Вы действительно можете сравнить даты JavaScript очень легко, просто используя обычные операторы.

Каждый объект Date - это всего лишь представление количества миллисекунд с 1 января 1970 года. Вы можете увидеть значение времени Дата, используя метод getTime.

var april212016 = new Date('2016-04-21'); 
console.log(april212016.getTime()); // 1461196800000 

var wayWayBack = new Date('1970-01-01'); 
console.log(wayWayBack.getTime()); // 0 

Таким образом, при сравнении дат, за кулисами она просто сравнивает эти цифры:

var d1 = new Date('2016-03-01'); 
var d2 = new Date('2016-01-01'); 

console.log(d1 > d2); // true 
console.log(d2 < d1); // true 
console.log(d1 == d2); // false 
+0

var today = new Дата ('2016-04-21'); !!!! должен ли я обновлять свой код каждый день, чтобы установить сегодняшнюю дату? – kokomoi

+0

Это, однако, если вам нужна улучшенная обработка преобразования даты, я бы рекомендовал Moment.js – Jay

+1

@kokomoi no, я просто показывал пример. Вы можете получить текущую дату/время, просто сделав 'var now = new Date()' - я обновил код выше, чтобы сделать это ясно. –

0

okeyyy! спасибо всем за вашу помощь и ваше время! я, наконец, решить проблему с кендо валидатор

я просто изменил этот код

var DateFinReele = $("#DateFinReele").kendoDatePicker({ 
 
    change: DateFinReeleChange, 
 
    max: new Date() 
 
}).data("kendoDatePicker");

Смежные вопросы