Temporal.PlainDate.prototype.toZonedDateTime()
Базовая совместимость Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Метод toZonedDateTime() экземпляров Temporal.PlainDate возвращает новый объект Temporal.ZonedDateTime, представляющий эту дату, предоставленное время и предоставленный часовой пояс в той же календарной системе.
Синтаксис
toZonedDateTime(timeZone) toZonedDateTime(info)
Параметры
-
timeZone - Либо строка, либо экземпляр
Temporal.ZonedDateTime, представляющий опциюtimeZone. Это удобная перегрузка, поэтомуtoZonedDateTime(timeZone)эквивалентноtoZonedDateTime({ timeZone }), гдеtimeZoneявляется строкой илиTemporal.ZonedDateTime. Эта перегрузка выбирается, когда первый аргумент не является объектом, или свойствоtimeZoneобъекта равноundefined(поскольку экземплярыZonedDateTimeвместо этого имеют свойствоtimeZoneId). -
info - Объект, содержащий некоторые или все из следующих свойств (в порядке их извлечения и проверки):
-
plainTimeНеобязательный - Строка, объект или экземпляр
Temporal.PlainTime, представляющий компонент времени результирующегоZonedDateTime. Он преобразуется в объектTemporal.PlainTimeс использованием того же алгоритма, что иTemporal.PlainTime.from(). По умолчанию используется первое действительное время в этом часовом поясе в эту календарную дату, которое обычно является"00:00:00", но может отличаться, если, например, переход на летнее время пропускает полночь. -
timeZone - Либо строка, либо экземпляр
Temporal.ZonedDateTime, представляющий часовой пояс для использования. Если это экземплярTemporal.ZonedDateTime, используется его часовой пояс. Если это строка, она может быть именованным идентификатором часового пояса, идентификатором смещения часового пояса или строкой даты-времени, содержащей идентификатор часового пояса или смещение (см. часовые пояса и смещения для получения дополнительной информации).
-
Возвращаемое значение
Новый объект Temporal.ZonedDateTime, представляющий дату и время, указанные этой датой, plainTime и timeZone, интерпретированные в календарной системе этой даты.
В случае неоднозначностей всегда используется поведение compatible: если время попадает в пробел (gap), мы продвигаемся вперед на длину пробела; если время попадает в неоднозначность (ambiguity), мы выбираем более раннюю из двух возможностей. Это означает, что результирующий ZonedDateTime может иметь потенциально другую дату или время, чем входные данные.
Исключения
-
TypeError - Выдается, если
timeZoneне является строкой или экземпляромTemporal.ZonedDateTime. -
RangeError - Выдается, если
timeZoneявляется строкой, которая не является допустимым идентификатором часового пояса.
Примеры
Использование toZonedDateTime()
const summer = Temporal.PlainDate.from("2021-07-01");
// Just time zone
const summerTime = summer.toZonedDateTime("America/New_York");
console.log(summerTime.toString()); // 2021-07-01T00:00:00-04:00[America/New_York]
const winter = Temporal.PlainDate.from("2021-01-01");
// Time zone and time
const winterTime = winter.toZonedDateTime({
plainTime: "12:34:56",
timeZone: "America/New_York",
});
console.log(winterTime.toString()); // 2021-01-01T12:34:56-05:00[America/New_York]
const spring = Temporal.PlainDate.from("2021-03-01");
// Time zone as object and time as object
const springTime = spring.toZonedDateTime({
plainTime: summerTime.toPlainTime(),
timeZone: winterTime,
});
console.log(springTime.toString()); // 2021-03-01T00:00:00-05:00[America/New_York]
Спецификации
Совместимость с браузерами
| Десктоп | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
toZonedDateTime |
144 |
144 |
139 |
128 |
предпросмотр |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
Смотрите также
Temporal.PlainDateTemporal.ZonedDateTimeTemporal.PlainTimeTemporal.PlainDate.prototype.toPlainDateTime()Temporal.PlainDate.prototype.toPlainMonthDay()Temporal.PlainDate.prototype.toPlainYearMonth()Temporal.ZonedDateTime.prototype.toPlainDate()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/toZonedDateTime