Мне нужна функция Javascript, которая задает часовой пояс, возвращает текущее смещение utc.Получить utc смещение от часовой пояс в Javascript
Например, theFuncIneed ('US/Eastern') -> 240
Любая идея?
Благодаря
Мне нужна функция Javascript, которая задает часовой пояс, возвращает текущее смещение utc.Получить utc смещение от часовой пояс в Javascript
Например, theFuncIneed ('US/Eastern') -> 240
Любая идея?
Благодаря
В общем, это не представляется возможным.
US/Eastern
является идентификатором для временной зоны в. (Это на самом деле псевдоним America/New_York
, который является реальным идентификатором.)
240
является временной зоной смещения. Это чаще всего написано как -04:00
(инвертируйте знак, разделите его на 60).
Восточный часовой пояс США включает в себя как восточное стандартное время, имеющее смещение -05:00
, так и восточное дневное время, которое имеет смещение -04:00
.
Так что это не совсем точно сказать US/Eastern
= 240. Пожалуйста, ознакомьтесь с timezone tag wiki, особенно раздел под названием «Time Zone! = Offset».
Теперь вы запросили текущий смещение, которое является возможно. Если вы укажете дату + время, вы можете решить эту проблему.
Для локального часового пояса компьютера, на котором Javascript код выполняется, это построено с использованием .getTimeZoneOffset()
из любого экземпляра Date
объекта.
Но если вы хотите, чтобы это было , то необходимо указать часовой пояс, тогда вам нужно будет использовать one of the libraries I listed here.
ECMA-262 определяет [смещение по часовой стрелке] (http://ecma-international.org/ecma-262/5.1/#sec-15.9.5.26) как «UTC - localTime», выраженное в минутах. Поэтому я думаю, что на форуме javascript разумно писать '+ 240', где в противном случае можно использовать' -04: 00'. – RobG
Да, в качестве номера, 240 приемлемо. –
'.getTimeZoneOffset()' должен быть '.getTimezoneOffset()' без верхнего регистра Z –
Вы можете сделать это с помощью moment.js
moment.tz ('имени часового пояса'). UtcOffset()
Создать объект с именами часовых поясов, как свойства и смещение как значение. Обратите внимание, что для названий часовых поясов нет стандарта, они время от времени меняются и появляются дубликаты (например, EST). – RobG
Проверьте момент.js, он имеет метод 'zone()'. – Barmar
@RobG - 'US/Eastern' является действительным [IANA часовой пояс] (http://iana.org/time-zones) идентификатор. Вы можете найти его в нижней части списка [здесь] (http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). –