【问题标题】:Find days between two dates Jquery/JS查找两个日期之间的天数 Jquery/JS
【发布时间】:2012-11-13 12:19:52
【问题描述】:

我已经对这个问题进行了广泛的搜索,到目前为止,我发现的所有代码都没有失效,我制作的代码也一样,所以我开始担心这是不可能的。

我们有两个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 字段之间的天数,这让我发疯了,欢迎提出任何建议。

谢谢,西蒙

参考卡尔文斯的建议:

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;   
}   

这在第二次提醒时失败,并且没有提醒日期。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    代码有效,但在警报中使用点而不是 + 时出现连接错误

    演示:http://jsfiddle.net/YgY5c/

    【讨论】:

      【解决方案2】:

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

      或者,如果你想写纯 js

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

      以小数形式返回“天”。

      放置结果或简单地应用Math.abs(),您将得到一个正数。

      【讨论】:

      • 我不想在网站中添加更多的 js 代码,因为我想保持代码最少,我很确定没有 Datejs 这应该是可能的?
      • 您修改后的编辑没有再次起作用,它提醒了第一次测试而不是第二次。请参阅编辑后的原始帖子
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 2016-03-15
      • 2017-05-17
      • 1970-01-01
      • 2017-07-05
      • 2011-08-29
      相关资源
      最近更新 更多