Определение часовой зоны в JS
Метод Intl.DateTimeFormat.prototype.resolvedOptions()
возвращает новый объект со свойствами, отражающими языковой стандарт и параметры форматирования даты и времени, вычисленные во время инициализации этого Intl.DateTimeFormat
объекта.
Чтобы получить часовую зону посетителя, просто возмём у этого всего свойство timeZone
. Запишем это в переменную currentTimezone
let currentTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
Как проверить что посетитель из России
Чтобы определить является ли посетитель из России, добавим константу RUSSIAN_TIMEZONES
куда поместим массив с таймзонами для РФ:
const RUSSIAN_TIMEZONES = [
"Asia/Anadyr",
"Asia/Barnaul",
"Asia/Chita",
"Asia/Irkutsk",
"Asia/Kamchatka",
"Asia/Khandyga",
"Asia/Krasnoyarsk",
"Asia/Magadan",
"Asia/Novokuznetsk",
"Asia/Novosibirsk",
"Asia/Omsk",
"Asia/Sakhalin",
"Asia/Srednekolymsk",
"Asia/Tomsk",
"Asia/Ust",
"Asia/Vladivostok",
"Asia/Yakutsk",
"Asia/Yekaterinburg",
"Europe/Astrakhan",
"Europe/Kaliningrad",
"Europe/Kirov",
"Europe/Moscow",
"Europe/Samara",
"Europe/Saratov",
"Europe/Ulyanovsk",
"Europe/Volgograd"
];
Теперь сделаем проверку в JavaScript является ли посетитель из РФ:
if (RUSSIAN_TIMEZONES.includes(currentTimezone)) {
// тут код если посетитель из РФ
}
*** Войдите чтобы писать комментарии.