javascript 日期选择器工作到特定日期然后坏了

javascript datepicker working untill specific date then broke

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

日期选择器的功能是计算两个日期之间的晚上数。因此从总数中减去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 月的最后一个星期日之后松了一小时,所以 2016 年之前是 25,之后是 28

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