JS метод Date.setFullYear()


Загальний опис

Date.prototype.setFullYear() — це метод для зміни року в існуючому об'єкті Date в JavaScript. Він дозволяє точно налаштовувати дати, коректуючи інші частини дати за необхідністю, що робить його незамінним для динамічної роботи з календарями, планувальниками та іншими додатками, де дати відіграють ключову роль.

Припустимо, вам потрібно встановити дату на 1 січня наступного року:

let today = new Date();
today.setFullYear(today.getFullYear() + 1, 0, 1);
console.log(today);

Ще одна цікава особливість полягає в корекції невірних дат. Якщо ви намагаєтеся встановити неіснуючу дату, таку як 30 лютого, метод автоматично коригує її:

let someDate = new Date(2022, 0, 31); // 31 січня 2022
someDate.setFullYear(2023, 1, 30); // Намагаємося встановити 30 лютого 2023
console.log(someDate); // Ви побачите 2 березня 2023

В інтерактивних застосуваннях метод Date.prototype.setFullYear() може бути використаний для створення динамічних календарів, де користувач може обирати рік. Наприклад, при виборі року у випадаючому меню, JavaScript може автоматично оновлювати дату, використовуючи цей метод.

автор: Bond

Порада

Для більш складних обчислень чи порівнянь дат, розгляньте можливість використання числового результату методу Date.prototype.setFullYear() - мітки часу. Це може допомогти при порівнянні дат або при виконанні математичних операцій з датами.

автор: Bond
Порада

Хоча це може здатися простим для початківців, важливо пам'ятати, що об'єкти Date в JavaScript працюють у локальному часовому поясі. При маніпулюванні датами, зокрема при використанні методу Date.prototype.setFullYear(), можливі розбіжності часових поясів при обміні даними між сервером і клієнтом.

автор: Bond
Порада

Якщо вам потрібно виконувати операції з великою кількістю об'єктів Date, розгляньте можливість використання зовнішніх бібліотек, таких як Moment.js або Luxon. Ці бібліотеки надають більше можливостей та оптимізацій для роботи з датами та часом.

автор: Bond

Синтаксис

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

Параметри

yearValue

Ціле число, що представляє рік. Наприклад, 1995.

автор: Bond

monthValue

Ціле число, що представляє місяць: 0 для січня, 1 для лютого тощо.

автор: Bond

dateValue

Ціле число від 1 до 31, що представляє день місяця. Якщо ви вказуєте dateValue, вам також потрібно вказати monthValue.

автор: Bond

Повернення

timestamp

Метод змінює об'єкт Date на місці та повертає його новий часовий штамп (timestamp). Якщо параметр є NaN (або іншими значеннями, які конвертуються в NaN, наприклад, undefined), дата встановлюється як "Invalid Date" і повертається NaN.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 4 12 4
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі користувач може бачити поточну дату та змінювати рік цієї дати. Для цього потрібно ввести новий рік в поле введення та натиснути кнопку. Результат після зміни відображається відразу на сторінці.

автор: Bond

У цьому прикладі ми створюємо дату someDate з роком 2010. Потім за допомогою методу getFullYear() ми отримуємо поточний рік і використовуючи Date.prototype.setFullYear() змінюємо рік у даті someDate на поточний.

let someDate = new Date(2010, 5, 15); // Дата: 15 червня 2010 року

// Змінюємо рік для someDate на поточний
let currentYear = new Date().getFullYear();
someDate.setFullYear(currentYear);

console.log(someDate); // Дата: 15 червня поточного року (залежно від року виконання коду)
автор: Bond

Ми починаємо з дати startDate, що представляє 1 січня 2022 року. Ідея прикладу - додати до цієї дати певну кількість років (addedYears). Щоб це зробити, ми комбінуємо методи getFullYear() та Date.prototype.setFullYear(). Зокрема, ми отримуємо поточний рік з startDate, додаємо до нього addedYears і встановлюємо новий рік для startDate.

let startDate = new Date(2022, 0, 1); // Дата: 1 січня 2022 року

// Додаємо до startDate 5 років
let addedYears = 5;
startDate.setFullYear(startDate.getFullYear() + addedYears);

console.log(startDate); // Дата: 1 січня 2027 року
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід