Spec-Zone.ru › JavaScript

Temporal.PlainYearMonth

Базовая поддержка Ограниченная доступность

Эта функция не относится к базовым, поскольку она не работает в некоторых из наиболее широко используемых браузеров.

Объект Temporal.PlainYearMonth представляет год и месяц календарной даты без дня и часового пояса; например, событие в календаре, которое длится весь месяц. По своей сути он представлен календарной датой ISO 8601 с полями года, месяца и дня, а также связанной с ней календарной системой. День используется для устранения неоднозначности года и месяца в календарных системах, отличных от ISO.

Описание

Объект PlainYearMonth по сути представляет собой часть с годом и месяцем объекта Temporal.PlainDate, без дня.

Формат RFC 9557

Объекты PlainYearMonth можно сериализовать и разбирать с использованием формата RFC 9557 — расширения формата ISO 8601 / RFC 3339. Строка имеет следующий вид (пробелы добавлены только для удобства чтения и не должны присутствовать в самой строке):

YYYY-MM-DD [u-ca=calendar_id]
YYYY
Либо четырехзначное число, либо шестизначное число со знаком + или -.
MM
Двухзначное число от 01 до 12.
DD Необязательно
Двухзначное число от 01 до 31. Оно обязательно для календарей, отличных от ISO, и необязательно в остальных случаях. Если его опустить, строка будет иметь вид YYYY-MM или YYYYMM. Обратите внимание, что фактически сохраненный опорный день может отличаться от указанного вами, однако представляемые год и месяц будут теми же. Подробнее см. в разделе Temporal.PlainYearMonth.from(). Компоненты YYYY, MM и DD могут разделяться символом - или не разделяться вовсе.
[u-ca=calendar_id] Необязательно
Замените calendar_id календарем, который нужно использовать. Список наиболее распространенных поддерживаемых типов календарей см. в разделе Intl.supportedValuesOf(). По умолчанию используется [u-ca=iso8601]. Можно добавить критический флаг, поставив перед ключом !: например, [!u-ca=iso8601]. Обычно этот флаг сообщает другим системам, что аннотацию нельзя игнорировать, если они ее не поддерживают. Анализатор Temporal выдаст ошибку, если аннотации содержат две или более аннотации календаря и одна из них является критической. Обратите внимание, что YYYY-MM-DD всегда интерпретируется как календарная дата ISO 8601, а затем преобразуется в указанный календарь.

В качестве входных данных можно также указать время, смещение и идентификатор часового пояса в том же формате, что и PlainDateTime, но они будут проигнорированы. Другие аннотации в формате [key=value] также игнорируются; у них не должно быть критического флага.

При сериализации можно настроить отображение идентификатора календаря и добавление к нему критического флага.

Конструктор

Temporal.PlainYearMonth() Экспериментальная
Создает новый объект Temporal.PlainYearMonth, напрямую принимая базовые данные.

Статические методы

Temporal.PlainYearMonth.compare()
Возвращает число (-1, 0 или 1), указывающее, идет ли первый год и месяц перед вторым, совпадает с ним или идет после него. Эквивалентно сравнению соответствующих дат ISO 8601. Год и месяц в разных календарях могут считаться равными, если они начинаются в одну и ту же дату ISO.
Temporal.PlainYearMonth.from()
Создает новый объект Temporal.PlainYearMonth на основе другого объекта Temporal.PlainYearMonth, объекта со свойствами года и месяца или строки RFC 9557.

Свойства экземпляра

Эти свойства определены в Temporal.PlainYearMonth.prototype и доступны всем экземплярам Temporal.PlainYearMonth.

Temporal.PlainYearMonth.prototype.calendarId
Возвращает строку, представляющую календарь, используемый для интерпретации внутренней даты ISO 8601.
Temporal.PlainYearMonth.prototype.constructor
Функция-конструктор, создавшая объект экземпляра. Для экземпляров Temporal.PlainYearMonth исходным значением является конструктор Temporal.PlainYearMonth().
Temporal.PlainYearMonth.prototype.daysInMonth
Возвращает положительное целое число, обозначающее количество дней в месяце этой даты. Зависит от календаря.
Temporal.PlainYearMonth.prototype.daysInYear
Возвращает положительное целое число, обозначающее количество дней в году этой даты. Зависит от календаря. В календаре ISO 8601 это 365 дней или 366 дней в високосном году.
Temporal.PlainYearMonth.prototype.era
Возвращает строчную строку, зависящую от календаря и обозначающую эру этого года и месяца, или undefined, если календарь не использует эры (например, ISO 8601). Значения era и eraYear вместе однозначно определяют год в календаре так же, как это делает year. Зависит от календаря. Для григорианского календаря это либо "ce", либо "bce".
Temporal.PlainYearMonth.prototype.eraYear
Возвращает неотрицательное целое число, обозначающее год этого года и месяца в пределах эры, или undefined, если календарь не использует эры (например, ISO 8601). Отсчет лет обычно начинается с 1 (чаще) или 0; годы в эре могут уменьшаться с течением времени (например, годы до нашей эры в григорианском календаре). Значения era и eraYear вместе однозначно определяют год в календаре так же, как это делает year. Зависит от календаря.
Temporal.PlainYearMonth.prototype.inLeapYear
Возвращает логическое значение, указывающее, приходится ли этот год и месяц на високосный год. Високосный год — это год, в котором больше дней (за счет дополнительного дня или месяца), чем в обычном году. Зависит от календаря.
Temporal.PlainYearMonth.prototype.month
Возвращает положительное целое число — порядковый номер месяца в году, начиная с 1. Первый месяц этого года — 1, а последний — monthsInYear. Зависит от календаря. Обратите внимание, что, в отличие от Date.prototype.getMonth(), нумерация начинается с 1. Если в календаре есть високосные месяцы, месяц с тем же monthCode может иметь разные значения month в разные годы.
Temporal.PlainYearMonth.prototype.monthCode
Возвращает строку, зависящую от календаря и обозначающую месяц этого года и месяца. Зависит от календаря. Обычно это M и двузначный номер месяца. Для високосных месяцев к коду предыдущего месяца добавляется L. Если високосный месяц является первым месяцем года, используется код M00L.
Temporal.PlainYearMonth.prototype.monthsInYear
Возвращает положительное целое число, обозначающее количество месяцев в году этой даты. Зависит от календаря. В календаре ISO 8601 это всегда 12, однако в других календарных системах значение может отличаться.
Temporal.PlainYearMonth.prototype.year
Возвращает целое число, обозначающее количество лет между этим годом и месяцем и началом календарного года-эпохи. Зависит от календаря. Обычно год 1 — это либо первый год последней эры, либо год ISO 8601 0001. Если эпоха приходится на середину года, этот год будет иметь одинаковое значение до и после даты начала эры.
Temporal.PlainYearMonth.prototype[Symbol.toStringTag]
Исходное значение свойства [Symbol.toStringTag] — строка "Temporal.PlainYearMonth". Это свойство используется в Object.prototype.toString().

Методы экземпляра

Temporal.PlainYearMonth.prototype.add()
Возвращает новый объект Temporal.PlainYearMonth, представляющий этот год и месяц, сдвинутые вперед на указанную длительность (в форме, преобразуемой с помощью Temporal.Duration.from()).
Temporal.PlainYearMonth.prototype.equals()
Возвращает true, если значение этого года и месяца эквивалентно значению другого года и месяца (в форме, преобразуемой с помощью Temporal.PlainYearMonth.from()), и false в противном случае. Сравниваются как соответствующие даты ISO, так и календари, поэтому два значения года и месяца из разных календарей могут считаться равными при вызове Temporal.PlainYearMonth.compare(), но не при вызове equals().
Temporal.PlainYearMonth.prototype.since()
Возвращает новый объект Temporal.Duration, представляющий длительность от другого года и месяца (в форме, преобразуемой с помощью Temporal.PlainYearMonth.from()) до этого года и месяца. Длительность положительна, если другой месяц предшествует этому, и отрицательна, если следует за ним.
Temporal.PlainYearMonth.prototype.subtract()
Возвращает новый объект Temporal.PlainYearMonth, представляющий этот год и месяц, сдвинутые назад на указанную длительность (в форме, преобразуемой с помощью Temporal.Duration.from()).
Temporal.PlainYearMonth.prototype.toJSON()
Возвращает строку, представляющую этот год и месяц в том же формате RFC 9557, что и вызов toString(). Предназначен для неявного вызова методом JSON.stringify().
Temporal.PlainYearMonth.prototype.toLocaleString()
Возвращает строку с языковым представлением этого года и месяца.
Temporal.PlainYearMonth.prototype.toPlainDate()
Возвращает новый объект Temporal.PlainDate, представляющий этот год и месяц и указанный день в той же календарной системе.
Temporal.PlainYearMonth.prototype.toString()
Возвращает строку, представляющую этот год и месяц в формате RFC 9557.
Temporal.PlainYearMonth.prototype.until()
Возвращает новый объект Temporal.Duration, представляющий длительность от этого года и месяца до другого года и месяца (в форме, преобразуемой с помощью Temporal.PlainYearMonth.from()). Длительность положительна, если другой месяц следует за этим, и отрицательна, если предшествует ему.
Temporal.PlainYearMonth.prototype.valueOf()
Выбрасывает исключение TypeError, не позволяя экземплярам Temporal.PlainYearMonth неявно преобразовываться в примитивы при использовании в арифметических операциях или операциях сравнения.
Temporal.PlainYearMonth.prototype.with()
Возвращает новый объект Temporal.PlainYearMonth, представляющий этот год и месяц с заменой некоторых полей новыми значениями.

Спецификации

Спецификация
Temporal
# sec-temporal-plainyearmonth-objects

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Серверы
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS Bun Deno Node.js
PlainYearMonth
144
144
139
128
предварительная версия
144
139
95
Нет
Нет
144
Нет
1.4.0
2.7
26.0.0
PlainYearMonth
Нет
Нет
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
daysInMonth
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
inLeapYear
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
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
toString
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
with
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

См. также

  • Temporal
  • Temporal.PlainDate
  • Temporal.PlainMonthDay

© 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/PlainYearMonth

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API