2012-11-13 81 views
1

我已經搜索了這個問題的範圍很廣,迄今爲止沒有發現的代碼失敗了,我也做了同樣的事情,所以我開始擔心它不可能。查找兩個日期之間的日期Jquery/JS

我們有兩個日期mm/dd/yy格式不是dd/mm/yy所以11/30/2012例如。

然後我用下面的腳本:

if (jQuery("#book_room_type").val() == "La Maison") { 
    Date.prototype.DaysBetween = function() { 
     var intMilDay = 24 * 60 * 60 * 1000; 
     var intMilDif = arguments[0] - this; 
     var intDays = Math.floor(intMilDif/intMilDay); 
     return intDays; 
    } 
    var d1 = new Date(jQuery("#dateto").val()); 
    var d2 = new Date(jQuery("#datefrom").val()); 
    alert("you only have".d1.DaysBetween(d2)); 

    return false; 
} 

然而,這並不返回dateto和datefrom領域之間的天ammount的,現在我都快瘋了,請有任何建議表示讚賞。

謝謝,西蒙

裁判KALVINS建議:

if (jQuery("#book_room_type").val() == "La Maison") { 
    alert("test"); 
    var dategap = (jQuery("#dateto").val().getTime() - jQuery("#datefrom").getTime())/(1000 * 60 * 60 * 24); 
    alert(dategap); 
    alert("test2"); 
    return false; 
} 

這個失敗的第二個警告,並沒有警報的日期。

回答

1

我建議你使用datejs - http://www.datejs.com/ - 解析和計算你的日期。

或者,如果你想寫純JS

function(date1, date2) { 
    return (date1.getTime() - date2.getTime())/(1000 * 60 * 60 * 24); 
} 

返回 「天」 在小數。

放置結果或只需應用Math.abs(),您將得到一個正數小數。

+0

什麼,如果鏈接會死了呢? –

+0

我寧願不添加更多的JS代碼到網站,因爲我想保持代碼最小化,我相當確信這應該是可能的沒有Datejs? –

+0

您的修改後的編輯沒有再次工作,它提醒了第一次測試,而不是第二次。請參閱編輯原始帖子 –

相關問題