Я занимаюсь разработкой веб-инструмента и в настоящее время сталкиваюсь с проблемой, когда на некоторых вкладках вместо правильного смещения часового пояса отображается UTC.
т.е. если я добавлю в консоль:
(new Date ()). GetTimezoneOffset ()
Я получу 0 на некоторых вкладках и значение 420 на других вкладках,Даже вкладки с точно таким же веб-сайтом загружены.
Когда я использую getMonth, getDate, getHours и т. Д. ... все время также в UTC.
Я новичок в использовании getTimezoneOffset,так это поведение я должен ожидать?Исходя из того, что я читаю, я думаю, что это должно быть мое местное время на моем ПК, которое вообще не менялось во время этого процесса.
Chrome Версия 71.0.3578.80 (Официальная сборка) (64-немного)
Есть ли что-то, что я делаю неправильно, или это действительно ошибка, которую я нашел в Chrome?Кажется, я не могу найти ни одной записи об этой ошибке.Наиболее близким является тот, который специфичен для Android.https://bugs.chromium.org/p/chromium/issues/detail?id=520783
Однако кажется невероятным, что я был бы первым, кто обнаружит такую ошибку, с таким количеством пользователей Chrome.Я хотел убедиться, что это определенно ошибка.
Вот дополнительная информация:
navigator.userAgent = Mozilla / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3578.80 Safari / 537.36
Рабочие вкладки:
Intl.DateTimeFormat().resolvedOptions().timeZone = undefined
new Date().toString() = "Mon Dec 24 2018 16:09:55 GMT-0700 (GMT-07:00)"
(new Date()).getTimezoneOffset() = 420
(new Date()).getHours() = 16
Неудачные вкладки:
Intl.DateTimeFormat().resolvedOptions().timeZone = "Etc/Unknown"
new Date().toString() = "Mon Dec 24 2018 23:09:44 GMT+0000 (GMT)"
(new Date()).getTimezoneOffset() = 0
(new Date()).getHours() = 23
Время изменяется правильно.Только часовой пояс неправильный.
Похоже, что это зависит от URL.Например, URL-адреса веб-сайтов, которые ранее были неудачными, снова не будут работать, если они будут открыты на новых вкладках.
Новые вкладки, похоже, не имеют проблемы, однако, как только я посещаю «отравленный» URL-адрес, на часовой пояс влияютэта вкладка.
Посещение хорошего URL-адреса, похоже, решает проблему, однако посещение по поводу: blank не имеет значения.
Например, если я открываю новую вкладку, она работает нормально.Затем я захожу на stackoverflow.com (в настоящее время отравленный), затем часовой пояс не работает.Теперь я захожу на stackexchange.com (не отравленный), и с часовым поясом все в порядке.Затем я захожу на stackoverflow.com, и он снова ломается.Теперь я иду к: пусто, и оно все еще сломано.Если я захожу на stackexchange.com, он снова работает.Затем я захожу по адресу: blank, часовой пояс по-прежнему правильный.
Похоже, это доменное имя.Например, каждая вкладка stackoverflow.com не работает, в то время как каждый вопрос на stackexchange.com имеет правильный часовой пояс.Я протестировал не менее 7 страниц для каждого URL.
Это не влияет на режим инкогнито.Например, если я открою новое окно с помощью Ctrl + Shift + N, а затем зайду на stackoverflow.com, часовой пояс будет правильным.Однако, если я открываю новое окно, как правило, Ctrl + N, то часовой пояс по-прежнему нарушается.
При первом запуске у меня было открыто несколько вкладок на одном сайте, и некоторые из них работали, а некоторыеих не удалось.Если я помню, это была самая новая вкладка, которая потерпела неудачу первой.Я мог бы дублировать рабочую вкладку и получить другую вкладку с тем же URL-адресом.Если бы я продублировал сбойную вкладку, то я бы также получил другую сбойную вкладку.Однако у меня больше нет рабочих вкладок с ошибочными URL-адресами вне режима инкогнито.