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
