изменение времени jquery datepicker

В последние дни я столкнулся со странным поведением, вычисляющим разницу дат с помощью jquery datepicker, когда я пытаюсь выяснить разницу в днях двух дат, пересекающих 28 марта. Разница вместо того, чтобы возвращать целое число, как ожидалось, дает мне число с плавающей запятой, немного меньше ожидаемого целого числа.

Я имею в виду, что разница между 25th march и 28th march должна составлять 3 дня, но это дает мне 2.9583333333333335 дня.

Всякий раз, когда 28 марта находится в пределах диапазона, я получаю этот странный результат.

Думаю, это связано с изменением времени. С любым другим диапазоном эта проблема не срабатывает.

Я узнал, как решить эту проблему с помощью простой математики:

Math.floor((b-a)/(1000*60*60*24)+0.05);

Это изменение времени приводит к такому странному результату? Или это только мой код?

вот некоторый код (модификация средства выбора даты jquery пример), который показывает, что:

http://jsfiddle.net/zKwbf/1/

Спасибо


person Dalen    schedule 25.03.2011    source источник


Ответы (1)


Должно быть из-за смены времени. Если вы умножите эту десятичную дробь на 24 часа, вы получите 23. Что происходит во время диапазона, когда осенью час возвращается на час назад?

person Mark Eldridge    schedule 25.03.2011
comment
простая демонстрация, но эффективная! jquery datepicker умнее меня! Благодарность - person Dalen; 26.03.2011