2010-04-09 3 views
32

Ciao ragazzi,JQuery Calcolare Day Difference in 2 caselle di testo data

Ho 2 texboxes ASP.NET con estensione calendario. Voglio scoprire il numero di giorni tra le due date quando viene modificato uno dei controlli di data. come posso ottenere questo utilizzando jquery o javascript?

+2

Forse questo aiuterà http://stackoverflow.com/questions/542938/how-do-i-get -il numero-di-giorni-tra-due-date-in-jquery –

+0

@Aneef, potresti voler aggiornare il titolo della tua domanda. Dice "caselle di controllo" dove immagino che intendessi dire "caselle di testo". –

risposta

64

Questo dovrebbe fare il trucco

var start = $('#start_date').val(); 
var end = $('#end_date').val(); 

// end - start returns difference in milliseconds 
var diff = new Date(end - start); 

// get days 
var days = diff/1000/60/60/24; 

Esempio

var start = new Date("2010-04-01"), 
    end = new Date(), 
    diff = new Date(end - start), 
    days = diff/1000/60/60/24; 

days; //=> 8.525845775462964 
+0

Perfetto! Proprio quello di cui avevo bisogno! Grazie! –

+1

Per me var diff = new Date (Date.parse (to) - Date.parse (from)) funziona. Ottima risposta comunque :) – Gogol

2

1) Html

<input type="text" id="firstDate" name="firstDate"/> 
<input type="text" id="secondDate" name="secondDate"/> 

2) Jquery

$("#firstDate").datepicker({ 

}); 
$("#secondDate").datepicker({ 
    onSelect: function() { 
     myfunc(); 
    } 
}); 

function myfunc(){ 
    var start= $("#firstDate").datepicker("getDate"); 
    var end= $("#secondDate").datepicker("getDate"); 
    days = (end- start)/(1000 * 60 * 60 * 24); 
    alert(Math.round(days)); 
} 

Jsfiddle esempio di lavoro here

-1

Questo è un modo semplice di ottenere i giorni tra due date

var nites = dateDiff(arriveDate,departDate,"D"); 
+0

dateDiff non è una funzione javascript o jquery integrata. – RLHawk