2013-02-11 343 views
1

我期待嘗試計算2個日期選擇器字段之間的天數並在輸入字段中顯示該值。我已經搜索了很多不同的方法,但似乎無法得到任何工作。我使用的自舉,datepicker.js顯示2個日期選擇日期之間的天數?

我創建了一個JS小提琴這裏http://jsfiddle.net/KLpq7/201/所以你可以看到我的努力,到目前爲止

我的JS如下

function days() { 
     var a = $("#datepicker_start").datepicker('getDate').getTime(), 
      b = $("#datepicker_end").datepicker('getDate').getTime(), 
      c = 24*60*60*1000, 
      diffDays = Math.round(Math.abs((a - b)/(c))); 
     $("#totaldays").val(diffDays) 
} 

$('.datepicker') 
.datepicker({format: 'DD, dd.mm.yyyy'}) 
.on('changeDate', function(ev){ 
$(this).datepicker('hide').blur(); 
}); 

在我的第一部分試圖實現這一點,但它不工作!

尋找一些幫助......

+1

如果你把'days'函數叫做 – musefan 2013-02-11 16:57:03

+0

的任何參考文件,可能會有用嗎? – Redwall 2013-02-11 16:59:25

+0

@Redwall不知道這是否是問題,但他意味着只是調用這樣的函數:wouldays();' – Trufa 2013-02-11 17:00:41

回答

4

我修改了您的jsfiddle,以正確計算差異。我想我注意到的是,你使用dd/mm/yyyy格式,默認情況下,JS想要的日期爲mm/dd/yyyy。最好是如果你處理日期差異計算的'美國'方式,但如果你必須使用dd/mm/yyyy'正確'的風格,那麼我建議看看Globalize庫。

+0

歡呼的人,非常感謝!注意日期,沒有問題...我想知道的最後一件事是,如果有可能從這個天的計算中刪除週末(坐,太陽).. – Redwall 2013-02-11 17:10:30

+0

不與您的初始計算。這完全是另一個問題,但主要是數學。你必須弄清楚已經過了多少個星期,然後每週花2天時間。現在它正在運行,你應該能夠玩弄它。 – Deif 2013-02-11 17:46:07

+0

酷交易的人,感謝挖出來!將很快在另一個問題上發佈... – Redwall 2013-02-11 17:50:35

0
function DateDiff(var date1, var date2) { 
    return date1 - date2; 
} 

如果你在Javascript兩個Date對象傳遞應該工作。返回的結果將是兩者之間的毫秒數,可以很容易地轉換爲幾天或幾小時或幾周等。

+0

我覺得OP有這樣的邏輯已經完成,他們只需要解決如何正確調用它 – musefan 2013-02-11 17:00:53

相關問題