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
1 1 1 3 12
Підтримка: мобільні переглядачі
Переглядач 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

Коментарі

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

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

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

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

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

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

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

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

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

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

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