Я обнаружил, что toLocaleString может быть эффективным при переводе времени в другой часовой пояс, как обсуждалось в этом вопросе< /а> уже. Например, чтобы напечатать время в Нью-Йорке:
console.log(new Date().toLocaleString("en-US", {timeZone: "America/New_York"}))
"5/26/2020, 1:27:13 PM"
Замечательно; этот код показывает время в Нью-Йорке, но только в формате string. Если я хочу сделать что-то программное на основе часов, мне придется разобрать эту строку.
Есть ли способ сгенерировать объект даты с определенным часовым поясом без принуждения его к строке? Например, мне нужна эта воображаемая функция:
const newYork = new Date().toTimezone('America/New_York')
console.log(newYork.getHours(), newYork.getMinutes())
13 27 // <--- 13:27 (1:27pm) in New York, not the browser's timezone
Возможно ли это в JavaScript?