Spec-Zone.ru › JavaScript

Date.prototype.setFullYear()

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна в браузерах с июля 2015 года.

Метод setFullYear() объектов Date изменяет год, месяц и/или день месяца для этой даты в соответствии с местным временем.

Попробуйте

const event = new Date("August 19, 1975 23:15:30");

event.setFullYear(1969);

console.log(event.getFullYear());
// Expected output: 1969

event.setFullYear(0);

console.log(event.getFullYear());
// Expected output: 0

Синтаксис

setFullYear(yearValue)
setFullYear(yearValue, monthValue)
setFullYear(yearValue, monthValue, dateValue)

Параметры

yearValue
Целое число, представляющее год. Например, 1995.
monthValue Необязательный
Целое число, представляющее месяц: 0 для января, 1 для февраля и так далее.
dateValue Необязательный
Целое число от 1 до 31, представляющее день месяца. Если вы указываете dateValue, вы также должны указать monthValue.

Возвращаемое значение

Изменяет объект Date на месте и возвращает его новый временную метку. Если параметр является NaN (или другими значениями, которые приводятся к NaN, например undefined), дата устанавливается как Invalid Date, и возвращается NaN.

Описание

Если вы не указываете параметры monthValue и dateValue, используются те же значения, что возвращаются методами getMonth() и getDate().

Если указанный вами параметр выходит за пределы ожидаемого диапазона, другие параметры и информация о дате в объекте Date соответственно обновляются. Например, если вы указываете 15 для monthValue, год увеличивается на 1 (yearValue + 1), а для месяца используется 3.

Поскольку setFullYear() работает с местным временем, пересечение границы летнего времени (DST) может привести к другому прошедшему времени, чем ожидалось. Например, если установка даты пересекает переход вперед весной (потеря часа), разница во временных метках между новой и старой датой на один час меньше, чем номинальная разница в днях, умноженная на 24 часа. И наоборот, пересечение обратного перехода осенью (прибавление часа) приведет к дополнительному часу. Если вам нужно скорректировать дату на фиксированное количество времени, рассмотрите возможность использования setUTCFullYear() или setTime().

Если новое местное время попадает в переход смещения, точное время определяется с использованием того же поведения, что и параметр disambiguation: "compatible" в Temporal. То есть, если местное время соответствует двум моментам, выбирается более ранний; если местное время не существует (есть разрыв), мы движемся вперед на продолжительность разрыва.

Примеры

Использование setFullYear()

const theBigDay = new Date();
theBigDay.setFullYear(1997);

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

Спецификация
Спецификация языка ECMAScript® 2027
# sec-date.prototype.setfullyear

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

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS Bun Deno Node.js
setFullYear
1
12
1
4
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Date.prototype.getUTCFullYear()
  • Date.prototype.setUTCFullYear()
  • Date.prototype.setYear()

© 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/Date/setFullYear

Spec-Zone.ru

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