JavaScript метод Date.getTimezoneOffset()
JavaScript DateОпределение и применение
JavaScript метод getTimezoneOffset() объекта Date возвращает смещение часового пояса относительно часового пояса UTC в минутах для текущей локали.
Всемирное координированное время (англ. Coordinated Universal Time, UTC) это мировой стандарт времени, принятый на Земле. Стандарт UTC заменил устаревший стандарт, определяющий среднее время по Гринвичу (англ. Greenwich Mean Time, GMT), при этом время UTC совпадает со временем GMT. Обратите внимание, что возвращаемое значение метода getTimezoneOffset() не является постоянным, из-за практики перехода на летнее время.
Смещение часового пояса представляет из себя разницу в минутах от местного времени до UTC. Возвращаемое смещение часового пояса применяется к дате его вызова. Обратите внимание, что смещение является положительным, если локальный часовой пояс отстает от UTC и отрицательным, если он впереди:
Текущая локаль | UTC-8 | UTC | UTC+3 | UTC+10:30 |
---|---|---|---|---|
Возвращаемое значение | 480 | 0 | -180 | -630 |
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
getTimezoneOffset() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
const timezoneOffset = dateObj.getTimezoneOffset();
Спецификация
ECMAScript 1st Edition (ECMA-262). Реализовано в JavaScript 1.0.Пример использования
const myDate1 = new Date("July 27, 2020 13:25:00 GMT-07:00"); // создаем объект Date (передаем строковый аргумент, определяющий дату) const myDate2 = new Date("July 27, 2020 12:10:00 GMT+05:00"); // создаем объект Date (передаем строковый аргумент, определяющий дату) console.log(myDate1); // Mon Jul 27 2020 23:25:00 GMT+0300 (Москва, стандартное время) console.log(myDate2); // Mon Jul 27 2020 10:10:00 GMT+0300 (Москва, стандартное время) const timezoneOffset1 = myDate1.getTimezoneOffset(); // возвращаем смещение часового пояса относительно часового пояса UTC в минутах для текущей локали const timezoneOffset2 = myDate2.getTimezoneOffset(); // возвращаем смещение часового пояса относительно часового пояса UTC в минутах для текущей локали console.log(myDate1); // -180 console.log(myDate2); // -180 console.log(timezoneOffset1 === timezoneOffset2); // true
В этом примере мы сконструировали два различных объекта Date и с помощью методов getTimezoneOffset() получили для этих объектов смещение часового пояса относительно часового пояса UTC в минутах для текущей локали.
JavaScript Date