javascript datepicker 工作到特定日期然后中断

标签 javascript jquery jquery-ui-datepicker

我对 javascript 中的日期选择器有一个奇怪的问题。它一直在工作,但它在特定日期(2016 年 3 月 25 日)中断,我看不出有什么问题。我知道代码不是最优的。

03/25/2016 到 03/26/2016 是 1(晚上) 03/25/2016 至 03/27/2016 为 2(晚) 03/25/2016 到 03/28/2016 是 2(晚)<< 应该是 3 03/25/2016 到 03/29/2016 是 3(晚)<< 应该是 4

日期选择器的功能是计算2个日期之间的夜晚数。因此从总数中减去 1。

http://jsfiddle.net/anc7x02g/3/

$(document).ready(function () {
var selector = function (dateStr) {
    var d1 = $('#datepickerln1').datepicker('getDate');
    var d2 = $('#datepickerln2').datepicker('getDate');
    var diff = 1;
    if (d1 && d2) {
        diff = Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
        diff = diff -1;
    }
    $('#total').val(diff);
}
$("#datepickerln1").datepicker();
$('#datepickerln2').datepicker();
$('#datepickerln1,#datepickerln2').change(selector)
});

我做错了什么?

最佳答案

弄明白了......这是标准时间和夏令时之间的转换......你在 3 月的最后一个星期日之后失去了一个小时,所以 25 是在 2016 年之前,28 是在之后

计算方法如下:
How to check if the DST (Daylight Saving Time) is in effect and if it is what's the offset?

关于javascript datepicker 工作到特定日期然后中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32732410/

相关文章:

javascript - 通过单击鼠标切换文本以显示在某个位置

javascript - 如何不允许在 AngularJS 的 ui-select 中复制粘贴值

javascript - 如何子类化特定的 jqueryui 小部件方法?

jquery-ui - jQuery 日期选择器宽度

javascript - 如何在 jQuery datetimepicker 中格式化日期?

JavaScript 对象的属性未定义

javascript:属性究竟是如何从原型(prototype)继承的?

JavaScript 文字,键的指针值

jquery - 如何动态更新 displayDialogAsync 显示的对话框?

javascript - 动态添加点击事件到复选框,仅适用于第一个复选框JQUERY