2012-11-13 80 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

您的修改后的编辑没有再次工作,它提醒了第一次测试,而不是第二次。请参阅编辑原始帖子 –

相关问题