簡體   English   中英

用javascript asp.net mvc比較日期

[英]comparing dates with javascript asp.net mvc

我開始使用javascript,我的情況對我來說真的很復雜! 我正在嘗試將今天的日期與“ DateFinReele”日期進行比較,我的“ DateFinReele”日期要小於今天的日期,我在“ DateDebut”,“ DateFinPrevue”和“ DateFinReele”,“ DateFinPrevue”和“ DateFinReele”上有另一個控件當我刪除我的函數checkDateInpuWithTodays()時,它必須小於“ DateDebut”,另一個控件工作得很好,但是當我添加它時,它什么也不起作用(甚至另一個控件!!!)

 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> 

有誰能夠幫助我

實際上,僅使用常規運算符就可以非常輕松地比較JavaScript日期。

每個Date對象實際上只是代表自1970年1月1日以來的毫秒數。您可以使用getTime方法查看Date的時間值。

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

okeyyy! 感謝大家的幫助和您的寶貴時間! 我終於用劍道驗證器解決了這個問題

我剛剛更改了此代碼

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM