Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получить количество дней при вычитании дат (https://javascript.ru/forum/events/12522-poluchit-kolichestvo-dnejj-pri-vychitanii-dat.html)

vflash 22.10.2010 13:02

Spinne, какие исходные данные? и вопрос непонятен чего именно нужно ?

tenshi 22.10.2010 14:20

для каждой даты просто укажи часовое смещение соответствующее её сезону. для москвы это: gmt+0300 и gmt+0400

Spinne 22.10.2010 16:41

vflash,
Дано: Data1, Data2.
Найти: Data2 - Data1 = количество целых дней
В чем проблема:
02.11.2010 00:00:00 - 30.10.2010 00:10:00 = 3 дня и 50 минут.
Нужен алгоритм, который выдаст ответ 2 дня, 23 часа и 50 минут
Даты могут быть любыми, и количество переходов на зимнее/летнее время между датами тоже любое.

vflash 22.10.2010 17:27

Spinne по исходным данным - какой часовой пояс? москва, китай или локально по браузеру new Date.getTimezoneOffset() . приводите к timestamp с учетом временной зоны .

Spinne 22.10.2010 17:33

vflash,
часовой пояс Украина.

vladlen 24.10.2010 02:15

Да пофигу какая зона, если есть DST, то в случае расчетов с датами летнего и зимнего времени будет погрешность на час.

Spinne 28.10.2010 11:59

А у меня еще вопрос. А почему
var x = (Date.UTC(2010, 10, 31, 00, 00, 00) - Date.UTC(2010, 10, 28, 00, 00, 00)) /24/60/60/1000;
alert(x);

и
var x = (Date.UTC(2010, 11, 01, 00, 00, 00) - Date.UTC(2010, 10, 28, 00, 00, 00)) /24/60/60/1000;
alert(x);


возвращают одинаковое количество дней ?

vflash 28.10.2010 12:43

время UTC это точка отсчета . там нет летнего времени.
и еше Date.UTC(2010, 11, 01, 00, 00, 00) это декабрь "Wed Dec 01 2010 03:00:00 GMT+0300"

Spinne 28.10.2010 13:00

Господа, плиз, набросайте примерчик, как это должно нормально работать...


Часовой пояс GMT +3, время: 05:22.