【问题标题】:Display number of days between 2 datepicker dates?显示 2 个日期选择器日期之间的天数?
【发布时间】:2013-02-11 16:54:08
【问题描述】:

我希望尝试计算 2 个日期选择器字段之间的天数,并在输入字段中显示该值。我已经搜索了很多不同的方法,但似乎没有任何工作。我正在使用 boostrap-datepicker.js

我在这里创建了一个 JS fiddle 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();
});

在第一部分中,我试图实现这一点,但它不起作用!

寻求帮助...

【问题讨论】:

  • 如果你在某处调用了days 函数可能会有用
  • 关于如何做到这一点的任何参考?
  • @Redwall 不确定这是否是问题,但他的意思是像这样调用函数:´days();´
  • @Redwall:在您的changeDate 事件中添加days();...然后您就可以处理下一个问题(检查控制台)
  • @musefan,谢谢伙计......我在 JS 方面非常糟糕,因为我还在学习,你有没有机会通过编辑我上面制作的 JSFiddle 来帮助我进一步指出我的正确方向方向...

标签: javascript jquery twitter-bootstrap datepicker


【解决方案1】:

我已经修改了您的jsfiddle 以正确计算差异。我注意到的一个想法是您使用dd/mm/yyyy 格式,默认情况下JS 希望日期为mm/dd/yyyy。最好以“美式”方式处理日期差异计算,但如果您必须使用 dd/mm/yyyy 的“正确”样式,那么我建议您查看 Globalize 库。

【讨论】:

  • 干杯,非常感谢!注明日期,没问题...我想知道的最后一件事是是否可以从这个天数计算中删除周末(周六、周日)..
  • 不是您的初始计算。这完全是另一个问题,但主要取决于数学。您必须计算出已经过去了多少周,然后从每周中抽出 2 天。现在它正在工作,您应该可以使用它。
  • 很酷的交易人,感谢您的挖掘!很快就会在另一个问题中发布...
【解决方案2】:
function DateDiff(var date1, var date2) {
    return date1 - date2;
}

如果您在 Javascript 中传入两个 Date 对象,应该可以工作。返回的结果将是两者之间的毫秒数,可以很容易地转换为天、小时或周等。

【讨论】:

  • 我认为OP已经完成了这个逻辑,他们只需要弄清楚如何正确调用它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多