Trouvez la différence entre deux dates choisies dans jQuery datepicker

J’ai deux zones de texte qui sélectionnent les dates via datepickers jQuery. Je veux y accéder en JavaScript et trouver la différence en termes de jours.

J’accède aux dates via le clientID des zones de texte et je prends simplement la différence, mais cela ne fonctionne pas pour moi. Existe-t-il un moyen spécifique d’accéder aux valeurs de date à partir des zones de texte renseignées via datepicker et une méthode spéciale permettant de trouver la différence en jours?

Mes champs de date:

  Select Date   End Date:    Select Date  

Mon JavaScript:

 function CheckDuration() { var toDate1 = document.getElementById(''); var toDate2 = new Date(toDate1.value.replace('-', ' ')); var toDate = toDate2.setDate(toDate2.getDate()); var toDate4 = document.getElementById(''); var toDate5 = new Date(toDate1.value.replace('-', ' ')); var toDate6 = toDate2.setDate(toDate2.getDate()); if ((toDate6 - toDate) > 30) confirm("Selected time period is of more than 1 month duration"); } 

Il existe des méthodes intégrées pour obtenir une date à partir d’une entrée comportant un sélecteur de date. Cette date sera un object de date javascript, sur lequel vous pouvez utiliser des fonctions telles que getTime() pour obtenir des millisecondes à partir de epoch, puis vous en soustrait un. autre:

 var from_date = $("#from_input").datepicker('getDate'), to_date = $("#to_input").datepicker('getDate'); var diff_in_milliseconds = to_date.getTime() - from_date.getTime(); 

Maintenant, vous devrez déterminer combien de millisecondes il y a dans une journée?

MODIFIER:

Je vais append un exemple à cela

VIOLON

En utilisant le script Java suivant, vous constaterez la différence entre les dates. Supposons qu’il existe deux boîtes portant le nom dtpEventDate = ’06 / 12/2012 ‘et dtpEndDate = ’08 / 12/2012’

 var fa = dtpEventDate.split('/') var ta = dtpEndDate.split('/') // var a = new Date(fa[1]-1,fa[0],fa[2]); // var d = new Date(ta[1]-1,ta[0],ta[2]); for MM-dd-yyyy var a = new Date(fa[2],fa[1]-1,fa[0]); var d = new Date(ta[2],ta[1]-1,ta[0]); // for dd-MM-yyyy 

en utilisant var a et d on peut trouver la différence entre la date

 function CheckDuration() { // alert(""); var toDate1 = document.getElementById('<% =txtStartDt.ClientID%>'); var toDate2 = new Date(toDate1.value.replace('-', ' ')); var toDate = toDate2.setDate(toDate2.getDate()); var toDate4 = document.getElementById('<% =txtEndDt.ClientID%>'); var toDate5 = new Date(toDate4.value.replace('-', ' ')); var toDate6 = toDate5.setDate(toDate5.getDate()); if (toDate && toDate6) { diff = ((toDate6 - toDate) / 86400000); // alert(diff); if(diff>30) return confirm("Selected time period is of more than 1 month duration"); }