@michydev

Почему getTimezoneOffset() выдает минус, когда «должен» быть плюс?

Например:
new Date().getTimezoneOffset() // -180
new Date().getUTCHours() // 12
new Date().getHours() // 15

Как-то странно получается, разница в 180 мин, выводится как -180. Почему?
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
@KingstonKMS
web developer
nowm
@nowm
Эта функция выводит сколько минут нужно убрать или добавить к текущей таймзоне, чтобы получить UTC. Так что, если текущая таймзона опережает UTC, то всегда будут отрицательные значения, если отстаёт — положительные. В данном конкретном случае московское время опережает UTC на 180 минут, так что возвращается отрицательное значение.

Из документации:

Возвращает смещение часового пояса, являющееся разностью в минутах между временем UTC и местным временем. Обратите внимание, что это значит, что смещение будет положительным для местного часового пояса, находящегося западнее часового пояса UTC и отрицательным — восточнее. Например, если ваш часовой пояс равен UTC+10 (австралийское восточное поясное время), будет возвращено значение -600. Наличие летнего и зимнего времени не даёт этому смещению быть постоянным, даже в пределах одного часового пояса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы