javascript конвертер часовых поясов

Мне нужен способ для преобразования времени в будущем в разные часовые пояса, не полагаясь на компьютерное время пользователя.

Во время регистрации пользователь указывает свой часовой пояс. Когда он входит в систему, я вычисляю смещение в минутах между временем UTC и его временем и вставляю это смещение на страницу, чтобы функция javascript могла выполнять преобразования. Что-то вроде этого:

var TheUTCTime = new Date(UserTime.getTime() - TimeZoneOffsetInMinutes * 60000);

и вот так наоборот:

var TheUserTime = new Date(UTCTime.getTime() + TimeZoneOffsetInMinutes * 60000);

Это очень хорошо работает для преобразования времени, если смещение не меняется. Например, из-за перехода на летнее время между американским EST и UTC разница составляет 300 или 360 минут в зависимости от месяца в году.

Мои функции хорошо работают для преобразования сегодняшней даты, но я хотел бы, чтобы что-то могло: 1) делать то же самое для любого дня года и 2) не зависит от внутренних часов пользователя или часового пояса.

Как я мог это сделать?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос