Локаль в браузере относительно ввода даты - PullRequest
0 голосов
/ 01 октября 2019

У меня есть пользовательский ввод даты в веб-приложении (не мое, я просто поддерживаю его). Этот ввод даты отлично работает в браузере, который я использую (Chrome с немецким языком). Однако этот ввод даты не работает на компьютере клиента, на котором установлен канадский хром.

Теперь я попытался установить мой язык в chrome на канадский английский, чтобы воспроизвести ошибку, но безрезультатно: ввод даты все еще работает для меня нормально в моем браузере, даже если я переключаюсь на канадский английский.

Теперь мой вопрос: как я могу настроить свой браузер Chrome так, чтобы он работал так, как если бы он был установлен на машине с канадскими окнами?

У меня нет исходного кода, чтобы показать, это всего триполя ввода, которые принимают день, месяц и год. Некоторые Javascript-Logic объединяют эти три входа в Javascript Date-Object. Этот механизм отлично работает в немецком браузере, но не работает в канадском английском.

Поэтому главный вопрос: почему я не могу воспроизвести ошибку, даже если я переключаю свой браузер на канадский английский? (Тем временем я также переключил свои настройки Windows на канадский английский, но мне не повезло в воспроизведении ошибки)

1 Ответ

0 голосов
/ 04 октября 2019

Решено:

Это часовые пояса. Мне пришлось изменить часовой пояс системы на канадский часовой пояс. После этого я мог воспроизвести ошибку, описанную клиентом.

Основная причина заключается в том, что существует несколько методов Javascript (например, getDate), которые зависят от локального часового пояса браузера. Если вы хотите избежать локальных часовых поясов, используйте вместо этого соответствующие UTC-методы (например, getUTCDate)

Вот хорошая статья на этот счет:

https://www.digitalocean.com/community/tutorials/understanding-date-and-time-in-javascript

(прокрутите вниз до «Методы дат с UTC»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...