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 (грудень).

автор: Bond

Порада

Переконайтеся, що ви користуєтеся setUTCFullYear() тоді, коли дійсно потребуєте встановити дату в UTC, а не місцевому часі. Для встановлення місцевої дати використовуйте setFullYear(). Це важливо для запобігання проблемам з часовими поясами у вашому застосунку.

// використовуйте setUTCFullYear для UTC часу
date.setUTCFullYear(2025, 10, 15); 

// використовуйте setFullYear для місцевого часу
date.setFullYear(2025, 10, 15); 
автор: Bond
Порада

Пам’ятайте про те, що місяці в JavaScript розраховуються від 0 до 11, де 0 - січень, і 11 - грудень. Завжди використовуйте правильні числові значення для місяців, інакше ви можете отримати неочікувані результати.

// Правильно: 10 відповідає листопаду
date.setUTCFullYear(2025, 10, 15); 

// Неправильно: 11 відповідає грудню, не листопаду
date.setUTCFullYear(2025, 11, 15); 
автор: Bond
Порада

Звертайте увагу на те, що Date.prototype.setUTCFullYear() змінює існуючий об'єкт Date, і якщо вам потрібно зберегти оригінальну дату, створіть копію об'єкта дати перед зміною.

let originalDate = new Date();
let newDate = new Date(originalDate);
newDate.setUTCFullYear(2025);
автор: Bond
Нотатка

Основна відмінність setUTCFullYear() від setFullYear() полягає в тому, що перший враховує UTC, тоді як другий – місцевий час.

автор: Bond

Синтаксис

setUTCFullYear(yearValue)
setUTCFullYear(yearValue, monthValue)
setUTCFullYear(yearValue, monthValue, dateValue)

Параметри

yearValue

Представляє рік, який потрібно встановити. Наприклад, 1995.

автор: Bond

monthValue

Представляє місяць від 0 до 11, де 0 відповідає січню, 1 - лютому, і так далі. Якщо вказано dateValue, то цей параметр також має бути вказаний.

автор: Bond

dateValue

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

автор: Bond

Повернення

timestamp

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

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 4 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

Приклади

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

Цей приклад демонструє використання методу setUTCFullYear(), дозволяючи користувачу ввести рік, який він хоче встановити, і після натискання кнопки виводить змінену дату. Користувач може взаємодіяти з прикладом, вводячи різні значення, і бачити, як змінюється дата у відповідь.

автор: Bond

У цьому прикладі створюється об'єкт дати 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
автор: Bond

У цьому прикладі, спочатку створюється об'єкт дати 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
автор: Bond

Коментарі

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

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

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

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

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

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

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

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

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

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

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