powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Date - потерялся час
4 сообщений из 4, страница 1 из 1
Date - потерялся час
    #34422790
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
d.setFullYear( 2005 , 0 , 1 );
d.setHours( 0 , 0 , 0 , 0 );
dd=new Date();
dd.setHours( 0 , 0 , 0 , 0 );
alert(dd.getTime());
alert(d.getTime());
alert(dd.getTime()-d.getTime());
alert((dd.getTime()-d.getTime())/( 1000 * 60 * 60 * 24 ));
получаю

1175029200000
1104530400000
70498800000
815.9583333333334

Почему не кругло?

(816)70502400000-70498800000=3600000/1000=3600 - т.е. час.

Мало того
Код: plaintext
1.
2.
dd=new Date( 1175029200000 + 3600000 );
d=new Date( 1104530400000 );
d="1.1.2005" dd="28.3.2007" dd-d=816
хотя ж на час увеличили Ж8-/
Что за прЫкол?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Date - потерялся час
    #34422948
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один час - это 60 минут, в каждой минуте 60 секунд. Значит в 1 часе 3600 секунд. Так какого художника вы еще на 1000 умножили?
...
Рейтинг: 0 / 0
Date - потерялся час
    #34422983
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damnedest
Так какого художника вы еще на 1000 умножили?

Учим матчасть - работаем с миллисекундами

А час - из-за перехода на летнее время, оказывается...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Date - потерялся час
    #34423196
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В итоге родил:
Код: plaintext
1.
2.
3.
4.
function DaySpan(ANow,AThen)
{
     return(!(ANow instanceof Date) || !(AThen instanceof Date) ? NaN : (Math.abs(ANow.getTime()-AThen.getTime())+Math.abs(Math.abs(ANow.getTimezoneOffset())-Math.abs(AThen.getTimezoneOffset()))* 60 * 1000 )/( 1000 * 60 * 60 * 24 ));
}
abs'ы - что бы не заморачиваться с логикой: отчасти из-за лени, отчасти - дабы не усложнять...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Date - потерялся час
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]