getTimezoneOffset () возвращает другое значение на ios, чем на всех других платформах - PullRequest
0 голосов
/ 17 января 2019

Проблема в том, что JavaScript ведет себя непредсказуемо при опросе текущего смещения часового пояса. Ожидаемый результат для моего часового пояса

> new Date().getTimezoneOffset()
-60

Это результат при запуске на

  • Samsung Galaxy Tab A (Android 7.0)
  • Windows 10 (Firefox, Chrome, Edge)
  • OSx 10,14 (Safari, Chrome)
  • Ubuntu 18.04 (Firefox, Chrome)

В iOS, однако, происходит следующее:

> new Date().getTimezoneOffset()
-120

Это было проверено с

  • Safari на iOS как на iOS 11.0.2, так и на 12.1.1 (последний на момент ввода)
  • Chrome 71.0.3578.89 iOS 11.0.2 и 12.1.1

Если часовой пояс изменяется на часовой пояс, который не использует летнее время, однако, как и в Марокко, getTimezoneOffset() возвращает то же самое, что и на других платформах. У кого-нибудь есть понимание этого?

Редактировать: уточнение

Я попытался запустить с системным временем, установленным на произвольную дату в летнее время (7 января 2019 года) и две даты в летнее время (17 мая 2019 года и 12 августа 2018 года), и результат всегда был одинаковым. В дополнение к использованию собственного часового пояса (GMT + 1 в Осло) я также попробовал GMT + 0 (Лондон) и GMT + 2 (Афины) с теми же результатами. Только при установке на GMT + 1 (Марракеш) я увидел разницу в результате.

...