Проблема в том, что 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 (Марракеш) я увидел разницу в результате.