В последние дни я сталкивался со странным поведением, вычисляющим разницу в данных с помощью 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/
Спасибо