Частота проверки должна основываться на вашем собственном анализе: если часовой пояс должен автоматически обновляться (или пользователю нужно почти сразу же запросить обновить свой часовой пояс), лучше всего использовать setInterval, который выполняет проверку каждую минуту.option.
Я думаю, что лучше всего использовать параметр времени вместо совпадающей строки, например, смещение, выраженное в минутах, если сравнивать с UTC.На самом деле, JavaScript полезен с довольно полезным методом, помещенным в объект DateTime:
setInterval(() => {
let dt = new Date();
if(dt.getTimezoneOffset() !== localStorage.get('tzOffset') {
// redirect to a proper component or automatically update the tz
}
}, 60000);
Я предполагаю, что вы храните текущий часовой пояс в локальном хранилище по ключу 'tzOffset'.getTimezoneOffset возвращает разницу в минутах между временем UTC и местным временем, в соответствии с MDN
Что касается другого вопроса, использование часовых поясов может очень помочьполучить правильно отформатированный выбор на разных устройствах:
for(let tz of moment.tz.names()) {
// do your stuff wuth the timezone name
}