Temporal.PlainDateTime
Базовая поддержка Ограниченная доступность
Эта функция не входит в Baseline, поскольку не работает в некоторых из наиболее широко используемых браузеров.
Объект Temporal.PlainDateTime представляет дату (календарную дату) и время (настенные часы) без часового пояса. По сути, он представлен в виде сочетания даты (с соответствующей календарной системой) и времени.
Описание
PlainDateTime — это, по сути, сочетание Temporal.PlainDate и Temporal.PlainTime. Поскольку информация о дате и времени взаимодействует незначительно, общая информация о свойствах даты приведена в объекте PlainDate, а общая информация о свойствах времени — в объекте PlainTime.
Если дата и время обозначают конкретный момент, который должен оставаться неизменным в разных часовых поясах, используйте вместо этого объект Temporal.ZonedDateTime. Используйте PlainDateTime, когда нужно представить событие, происходящее в определённое время по настенным часам, которое может соответствовать разным моментам времени в разных часовых поясах.
Формат RFC 9557
Объекты PlainDateTime можно сериализовать и разбирать с помощью формата RFC 9557, расширения формата ISO 8601 / RFC 3339. Строка имеет следующий вид (пробелы добавлены только для удобства чтения и не должны присутствовать в самой строке):
YYYY-MM-DD T HH:mm:ss.sssssssss [u-ca=calendar_id]
-
YYYY - Либо четырёхзначное число, либо шестизначное число со знаком
+или-. -
MM - Двухзначное число от
01до12. -
DD - Двухзначное число от
01до31. КомпонентыYYYY,MMиDDможно разделять символом-или не разделять. -
TНеобязательно - Разделитель даты и времени:
T,tили пробел. Присутствует тогда и только тогда, когда присутствуетHH. -
HHНеобязательно - Двухзначное число от
00до23. По умолчанию —00. -
mmНеобязательно - Двухзначное число от
00до59. По умолчанию —00. -
ss.sssssssssНеобязательно - Двухзначное число от
00до59. За ним может следовать.или,и от одной до девяти цифр. По умолчанию —00. КомпонентыHH,mmиssможно разделять символом:или не разделять. Можно опустить толькоssили оба компонента —ssиmm, поэтому время может иметь одну из трёх форм:HH,HH:mmилиHH:mm:ss.sssssssss. -
[u-ca=calendar_id]Необязательно - Замените
calendar_idна используемый календарь. Список наиболее распространённых поддерживаемых типов календарей см. в разделеIntl.supportedValuesOf(). По умолчанию —[u-ca=iso8601]. Можно добавить критический флаг, поставив перед ключом!, например:[!u-ca=iso8601]. Этот флаг обычно сообщает другим системам, что его нельзя игнорировать, если они его не поддерживают. АнализаторTemporalвыдаст ошибку, если аннотации содержат две или более аннотаций календаря и одна из них является критической. Обратите внимание, чтоYYYY-MM-DDвсегда интерпретируется как календарная дата ISO 8601, а затем преобразуется в указанный календарь.
В качестве входных данных можно дополнительно указать смещение и идентификатор часового пояса в том же формате, что и в ZonedDateTime, но они будут проигнорированы. Обратите внимание, что смещение не должно быть Z. Другие аннотации в формате [key=value] также игнорируются и не должны иметь критический флаг.
При сериализации можно настроить количество цифр дробной части секунды, отображение идентификатора календаря и добавление к нему критического флага.
Конструктор
-
Temporal.PlainDateTime()Экспериментальная - Создаёт новый объект
Temporal.PlainDateTime, напрямую задавая базовые данные.
Статические методы
-
Temporal.PlainDateTime.compare() - Возвращает число (-1, 0 или 1), указывающее, предшествует ли первая дата и время вторым, совпадает с ними или следует за ними. Эквивалентно сначала сравнению дат, а затем — если даты совпадают — сравнению времени.
-
Temporal.PlainDateTime.from() - Создаёт новый объект
Temporal.PlainDateTimeиз другого объектаTemporal.PlainDateTime, объекта со свойствами даты и времени или строки формата RFC 9557.
Свойства экземпляра
Эти свойства определены в Temporal.PlainDateTime.prototype и доступны всем экземплярам Temporal.PlainDateTime.
-
Temporal.PlainDateTime.prototype.calendarId - Возвращает строку, представляющую календарь, используемый для интерпретации внутренней даты ISO 8601.
-
Temporal.PlainDateTime.prototype.constructor - Функция-конструктор, создавшая объект экземпляра. Для экземпляров
Temporal.PlainDateTimeначальным значением является конструкторTemporal.PlainDateTime(). -
Temporal.PlainDateTime.prototype.day - Возвращает положительное целое число, представляющее порядковый номер дня месяца, начиная с 1, для этой даты; это тот же номер дня, который отображается в календаре. Зависит от календаря. Обычно отсчёт начинается с 1 и ведётся непрерывно, но так бывает не всегда.
-
Temporal.PlainDateTime.prototype.dayOfWeek - Возвращает положительное целое число, представляющее порядковый номер дня недели, начиная с 1, для этой даты. Дни недели нумеруются последовательно от
1доdaysInWeek, причём каждому числу соответствует своё название. Зависит от календаря. Обычно числу 1 соответствует понедельник в календаре, даже если в локалях, использующих этот календарь, первым днём недели считается другой день (см.Intl.Locale.prototype.getWeekInfo()). -
Temporal.PlainDateTime.prototype.dayOfYear - Возвращает положительное целое число, представляющее порядковый номер дня в году, начиная с 1, для этой даты. Первый день этого года —
1, а последний —daysInYear. Зависит от календаря. -
Temporal.PlainDateTime.prototype.daysInMonth - Возвращает положительное целое число, представляющее количество дней в месяце этой даты. Зависит от календаря.
-
Temporal.PlainDateTime.prototype.daysInWeek - Возвращает положительное целое число, представляющее количество дней в неделе этой даты. Зависит от календаря. В календаре ISO 8601 это всегда 7, но в других календарных системах значение может меняться от недели к неделе.
-
Temporal.PlainDateTime.prototype.daysInYear - Возвращает положительное целое число, представляющее количество дней в году этой даты. Зависит от календаря. В календаре ISO 8601 это 365 или 366 в високосном году.
-
Temporal.PlainDateTime.prototype.era - Возвращает строчную строку, зависящую от календаря и представляющую эру этой даты, или
undefined, если календарь не использует эры (например, ISO 8601).eraиeraYearвместе однозначно определяют год в календаре так же, как это делаетyear. Зависит от календаря. В григорианском календаре это либо"ce", либо"bce". -
Temporal.PlainDateTime.prototype.eraYear - Возвращает неотрицательное целое число, представляющее год этой даты в пределах эры, или
undefined, если календарь не использует эры (например, ISO 8601). Отсчёт лет обычно начинается с 1 (чаще) или с 0; годы в эре могут убывать с течением времени (например, в григорианской эре до нашей эры).eraиeraYearвместе однозначно определяют год в календаре так же, как это делаетyear. Зависит от календаря. -
Temporal.PlainDateTime.prototype.hour - Возвращает целое число от 0 до 23, представляющее компонент часов этого времени.
-
Temporal.PlainDateTime.prototype.inLeapYear - Возвращает логическое значение, указывающее, приходится ли эта дата на високосный год. В високосном году больше дней, чем в обычном (из-за дополнительного дня или месяца). Зависит от календаря.
-
Temporal.PlainDateTime.prototype.microsecond - Возвращает целое число от 0 до 999, представляющее компонент микросекунд (10-6 секунды) этого времени.
-
Temporal.PlainDateTime.prototype.millisecond - Возвращает целое число от 0 до 999, представляющее компонент миллисекунд (10-3 секунды) этого времени.
-
Temporal.PlainDateTime.prototype.minute - Возвращает целое число от 0 до 59, представляющее компонент минут этого времени.
-
Temporal.PlainDateTime.prototype.month - Возвращает положительное целое число, представляющее порядковый номер месяца в году, начиная с 1, для этой даты. Первый месяц этого года —
1, а последний —monthsInYear. Зависит от календаря. Обратите внимание: в отличие отDate.prototype.getMonth(), отсчёт начинается с 1. Если в календаре есть високосные месяцы, месяц с тем жеmonthCodeможет иметь разные значения индексаmonthв разные годы. -
Temporal.PlainDateTime.prototype.monthCode - Возвращает строку, зависящую от календаря и представляющую месяц этой даты. Зависит от календаря. Обычно это
Mи двузначный номер месяца. Для високосных месяцев к коду предыдущего месяца добавляетсяL. Если високосный месяц является первым месяцем года, используется кодM00L. -
Temporal.PlainDateTime.prototype.monthsInYear - Возвращает положительное целое число, представляющее количество месяцев в году этой даты. Зависит от календаря. В календаре ISO 8601 это всегда 12, но в других календарных системах значение может отличаться.
-
Temporal.PlainDateTime.prototype.nanosecond - Возвращает целое число от 0 до 999, представляющее компонент наносекунд (10-9 секунды) этого времени.
-
Temporal.PlainDateTime.prototype.second - Возвращает целое число от 0 до 59, представляющее компонент секунд этого времени.
-
Temporal.PlainDateTime.prototype.weekOfYear - Возвращает положительное целое число, представляющее порядковый номер недели, начиная с 1, в
yearOfWeekэтой даты, илиundefined, если в календаре нет чётко определённой системы недель. Первая неделя года —1. Зависит от календаря. Обратите внимание: в ISO 8601 первые и последние несколько дней года могут относиться к последней неделе предыдущего года или к первой неделе следующего года. -
Temporal.PlainDateTime.prototype.year - Возвращает целое число, представляющее количество лет этой даты относительно начала календарного года эпохи. Зависит от календаря. Обычно год 1 — это либо первый год последней эры, либо год ISO 8601
0001. Если эпоха приходится на середину года, значение этого года будет одинаковым до и после даты начала эры. -
Temporal.PlainDateTime.prototype.yearOfWeek - Возвращает целое число, представляющее год, который следует использовать вместе с
weekOfYearэтой даты, илиundefined, если в календаре нет чётко определённой системы недель. Зависит от календаря. Обычно это год даты, но в ISO 8601 первые и последние несколько дней года могут относиться к последней неделе предыдущего года или к первой неделе следующего года, из-за чего значениеyearOfWeekотличается на 1. -
Temporal.PlainDateTime.prototype[Symbol.toStringTag] - Начальное значение свойства
[Symbol.toStringTag]— строка"Temporal.PlainDateTime". Это свойство используется вObject.prototype.toString().
Методы экземпляра
-
Temporal.PlainDateTime.prototype.add() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время, сдвинутые вперёд на заданную длительность (в форме, преобразуемой с помощьюTemporal.Duration.from()). -
Temporal.PlainDateTime.prototype.equals() - Возвращает
true, если значение этой даты и времени эквивалентно значению другой даты и времени (в форме, преобразуемой с помощьюTemporal.PlainDateTime.from()), иfalseв противном случае. Сравниваются значения даты и времени, а также календари, поэтому даты и время из разных календарей могут считаться равными при вызовеTemporal.PlainDateTime.compare(), но не при вызовеequals(). -
Temporal.PlainDateTime.prototype.round() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время, округлённые до заданной единицы. -
Temporal.PlainDateTime.prototype.since() - Возвращает новый объект
Temporal.Duration, представляющий длительность от другой даты и времени (в форме, преобразуемой с помощьюTemporal.PlainDateTime.from()) до этой даты и времени. Длительность положительна, если другая дата и время предшествуют этой дате и времени, и отрицательна, если следуют за ними. -
Temporal.PlainDateTime.prototype.subtract() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время, сдвинутые назад на заданную длительность (в форме, преобразуемой с помощьюTemporal.Duration.from()). -
Temporal.PlainDateTime.prototype.toJSON() - Возвращает строку, представляющую эту дату и время в том же формате RFC 9557, что и при вызове
toString(). Предназначен для неявного вызова методомJSON.stringify(). -
Temporal.PlainDateTime.prototype.toLocaleString() - Возвращает строку с локализованным представлением этой даты и времени.
-
Temporal.PlainDateTime.prototype.toPlainDate() - Возвращает новый объект
Temporal.PlainDate, представляющий часть даты (год, месяц, день) этой даты и времени в той же календарной системе. -
Temporal.PlainDateTime.prototype.toPlainTime() - Возвращает новый объект
Temporal.PlainTime, представляющий часть времени (компоненты часов, минут, секунд и долей секунды) этой даты и времени. -
Temporal.PlainDateTime.prototype.toString() - Возвращает строку, представляющую эту дату и время в формате RFC 9557.
-
Temporal.PlainDateTime.prototype.toZonedDateTime() - Возвращает новый экземпляр
Temporal.ZonedDateTime, представляющий ту же дату и время, что и эта дата и время без часового пояса, но в указанном часовом поясе. -
Temporal.PlainDateTime.prototype.until() - Возвращает новый объект
Temporal.Duration, представляющий длительность от этой даты и времени до другой даты и времени (в форме, преобразуемой с помощьюTemporal.PlainDateTime.from()). Длительность положительна, если другая дата и время следуют за этой датой и временем, и отрицательна, если предшествуют им. -
Temporal.PlainDateTime.prototype.valueOf() - Вызывает исключение
TypeError, предотвращая неявное преобразование экземпляровTemporal.PlainDateTimeв примитивы при использовании в арифметических операциях или операциях сравнения. -
Temporal.PlainDateTime.prototype.with() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время с заменой некоторых полей новыми значениями. -
Temporal.PlainDateTime.prototype.withCalendar() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время, интерпретируемые в новой календарной системе. -
Temporal.PlainDateTime.prototype.withPlainTime() - Возвращает новый объект
Temporal.PlainDateTime, представляющий эту дату и время с полностью заменённой частью времени на новое значение (в форме, преобразуемой с помощьюTemporal.PlainTime.from()).
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal-plaindatetime-objects |
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
PlainDateTime |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlainDateTime |
Нет |
Нет |
139 |
Нет |
Нет |
Нет |
139 |
Нет |
Нет |
Нет |
Нет |
Нет |
? |
2.7 |
26.0.0 |
add |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
calendarId |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
compare |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
day |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
dayOfWeek |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
dayOfYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
daysInMonth |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
daysInWeek |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
daysInYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
equals |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
era |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
eraYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
from |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
hour |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
inLeapYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
microsecond |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
millisecond |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
minute |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
month |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
monthCode |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
monthsInYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
nanosecond |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
round |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
second |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
since |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
subtract |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toJSON |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toLocaleString |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toPlainDate |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toPlainTime |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toString |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
toZonedDateTime |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
until |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
valueOf |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
weekOfYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
with |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
withCalendar |
144 |
144 |
139Календариislamic, islamic-rgsa и islamic-umalqura недоступны. См. ошибку 1950425 и ошибку 1954138. |
128 |
предварительная версия |
144 |
139Календариislamic, islamic-rgsa и islamic-umalqura недоступны. См. ошибку 1950425 и ошибку 1954138. |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
withPlainTime |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
year |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
yearOfWeek |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
© 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/PlainDateTime