У меня есть строка времени даты и времени часовой пояс UTC. Я получаю это от стороннего API. Мне нужно преобразовать время UTC в локальное время этого часового пояса с помощью JavaScript/NodeJS, а также получить текущее время этого часового пояса. Есть ли библиотека/метод для одного и того же?
var timezone = "America/New_York";//This will always be in Olson format.
var UTCTime = "2017-09-03T02:00:00Z";
var localTime; //I need to find the equivalent of UTCTime for America/New_York
var currentTime; //Current time of time zone America/New_York
Это можно сделать несколькими способами:
var options = {
timeZone: "America/New_York",
year: 'numeric', month: 'numeric', day: 'numeric',
hour: 'numeric', minute: 'numeric', second: 'numeric'
};
var formatter = new Intl.DateTimeFormat([], options);
var UTCTime = "2017-09-03T02:00:00Z";
var localTime = formatter.format(new Date(UTCTime));
var currentTime = formatter.format(new Date()); console.log(currentTime, localTime);
Или вы можете использовать library.js.
Вы можете использовать getTimezoneOffset()
который возвращает смещение в минутах. Затем вы можете изменить дату на соответствующий возврат функции.
Вы также можете посмотреть на moment.js, который является очень полезной библиотекой, когда дело доходит до дат javascipt.