JS метод Date.setUTCFullYear()
Загальний опис
Date.prototype.setUTCFullYear()
– це метод об'єкта Date
в JavaScript, який дозволяє встановлювати рік для дати з урахуванням координованого універсального часу (UTC).
Кожен раз, коли ми працюємо з датами та часом у веб-розробці, особливо при взаємодії з різними часовими поясами, нам часто потрібно коригувати дати на сервері або в базі даних. Тут setUTCFullYear()
може стати в нагоді, дозволяючи нам контролювати рік дати, не звертаючись до місцевого часового поясу користувача.
Основне застосування цього методу – це робота з серверами, що розташовані в різних часових поясах. Коли дані зберігаються у форматі UTC, їх легше обробляти, адже вони не залежать від місцевого часу.
Давайте розглянемо, як працює setUTCFullYear()
. При прийомі одного аргументу, цей метод встановлює лише рік для дати. Однак він може приймати до трьох аргументів: рік, місяць і день.
let date = new Date();
date.setUTCFullYear(2025);
console.log(date.toUTCString()); // Виведе дату з роком 2025.
Якщо ми передамо і місяць, і день:
date.setUTCFullYear(2025, 10, 15);
console.log(date.toUTCString()); // Виведе 15 листопада 2025 року.
Важливо пам'ятати, що місяці рахуються з 0 (січень) до 11 (грудень).
Нотатка: | Основна відмінність |
Порада: | Переконайтеся, що ви користуєтеся
|
Порада: | Пам’ятайте про те, що місяці в JavaScript розраховуються від 0 до 11, де 0 - січень, і 11 - грудень. Завжди використовуйте правильні числові значення для місяців, інакше ви можете отримати неочікувані результати.
|
Порада: | Звертайте увагу на те, що
|
Синтаксис
setUTCFullYear(yearValue)
setUTCFullYear(yearValue, monthValue)
setUTCFullYear(yearValue, monthValue, dateValue)
Параметри
- *
yearValue
Представляє рік, який потрібно встановити. Наприклад, 1995.
monthValue
Представляє місяць від 0 до 11, де 0 відповідає січню, 1 - лютому, і так далі. Якщо вказано
dateValue
, то цей параметр також має бути вказаний.dateValue
Представляє день місяця від 1 до 31. Цей параметр можна вказати, тільки якщо також вказано
monthValue
.
Return
timestamp
Метод модифікує об'єкт
Date
і повертає новий часовий штамп (timestamp
). Якщо параметр єNaN
(або інші значення, які конвертуються вNaN
, такі якundefined
), то дата встановлюється як "Invalid Date", і повертаєтьсяNaN
.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
4 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Цей приклад демонструє використання методу setUTCFullYear()
, дозволяючи користувачу ввести рік, який він хоче встановити, і після натискання кнопки виводить змінену дату. Користувач може взаємодіяти з прикладом, вводячи різні значення, і бачити, як змінюється дата у відповідь.
У цьому прикладі створюється об'єкт дати myDate
із початковим значенням 'December 17, 2023 03:24:00 UTC'. Потім, використовуючи метод setUTCFullYear()
, ми встановлюємо новий рік, місяць і день, змінюючи дату на '15 листопада 2025 року'. Нарешті, за допомогою console.log()
і toUTCString()
, ми виводимо кінцевий результат в консоль, що показує нову дату в форматі UTC String.
// Створюємо об'єкт дати
let myDate = new Date('December 17, 2023 03:24:00 UTC');
// Змінюємо рік, місяць і день об'єкта дати, використовуючи setUTCFullYear()
myDate.setUTCFullYear(2025, 10, 15); // 15 листопада 2025 року UTC
// Виводимо результат
console.log(myDate.toUTCString()); // Wed, 15 Nov 2025 03:24:00 GMT
У цьому прикладі, спочатку створюється об'єкт дати birthday
із значенням 'August 15, 1985 12:00:00 UTC', який представляє дату народження користувача. Далі, з допомогою методу setUTCFullYear()
, ми змінюємо тільки рік дати на '2000', залишаючи місяць і день без змін. Знову, виводимо змінену дату в консоль, використовуючи console.log()
і toUTCString()
, для отримання дати в форматі UTC String.
// Створюємо об'єкт дати
let birthday = new Date('August 15, 1985 12:00:00 UTC');
// Змінюємо тільки рік в даті народження, використовуючи setUTCFullYear()
birthday.setUTCFullYear(2000); // Зберігаємо той же день і місяць, але рік змінюємо на 2000
// Виводимо результат
console.log(birthday.toUTCString()); // Tue, 15 Aug 2000 12:00:00 GMT