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 може автоматично оновлювати дату, використовуючи цей метод.
- Порада
-
Для більш складних обчислень чи порівнянь дат, розгляньте можливість використання числового результату методу
автор: BondDate.prototype.setFullYear()- мітки часу. Це може допомогти при порівнянні дат або при виконанні математичних операцій з датами. - Порада
-
Хоча це може здатися простим для початківців, важливо пам'ятати, що об'єкти
автор: BondDateв JavaScript працюють у локальному часовому поясі. При маніпулюванні датами, зокрема при використанні методуDate.prototype.setFullYear(), можливі розбіжності часових поясів при обміні даними між сервером і клієнтом. - Порада
-
Якщо вам потрібно виконувати операції з великою кількістю об'єктів
автор: BondDate, розгляньте можливість використання зовнішніх бібліотек, таких як Moment.js або Luxon. Ці бібліотеки надають більше можливостей та оптимізацій для роботи з датами та часом.
Синтаксис
setFullYear(yearValue)
setFullYear(yearValue, monthValue)
setFullYear(yearValue, monthValue, dateValue)
Параметри
yearValue-
Ціле число, що представляє рік. Наприклад, 1995.
автор: Bond monthValue-
Ціле число, що представляє місяць: 0 для січня, 1 для лютого тощо.
автор: Bond dateValue-
Ціле число від 1 до 31, що представляє день місяця. Якщо ви вказуєте
автор: BonddateValue, вам також потрібно вказатиmonthValue.
Повернення
timestamp-
Метод змінює об'єкт
автор: BondDateна місці та повертає його новий часовий штамп (timestamp). Якщо параметр єNaN(або іншими значеннями, які конвертуються вNaN, наприклад,undefined), дата встановлюється як "Invalid Date" і повертаєтьсяNaN.
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 3 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
У цьому прикладі користувач може бачити поточну дату та змінювати рік цієї дати. Для цього потрібно ввести новий рік в поле введення та натиснути кнопку. Результат після зміни відображається відразу на сторінці.
У цьому прикладі ми створюємо дату 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 червня поточного року (залежно від року виконання коду)
Ми починаємо з дати 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 року
Коментарі
Коментарів ще немає — будьте першим!