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(). Це важливо для запобігання проблемам з часовими поясами у вашому застосунку.
автор: Bond// використовуйте setUTCFullYear для UTC часу date.setUTCFullYear(2025, 10, 15); // використовуйте setFullYear для місцевого часу date.setFullYear(2025, 10, 15); - Порада
-
Пам’ятайте про те, що місяці в JavaScript розраховуються від 0 до 11, де 0 - січень, і 11 - грудень. Завжди використовуйте правильні числові значення для місяців, інакше ви можете отримати неочікувані результати.
автор: Bond// Правильно: 10 відповідає листопаду date.setUTCFullYear(2025, 10, 15); // Неправильно: 11 відповідає грудню, не листопаду date.setUTCFullYear(2025, 11, 15); - Порада
-
Звертайте увагу на те, що
Date.prototype.setUTCFullYear()змінює існуючий об'єктDate, і якщо вам потрібно зберегти оригінальну дату, створіть копію об'єкта дати перед зміною.
автор: Bondlet originalDate = new Date(); let newDate = new Date(originalDate); newDate.setUTCFullYear(2025); - Нотатка
-
Основна відмінність
автор: BondsetUTCFullYear()відsetFullYear()полягає в тому, що перший враховує UTC, тоді як другий – місцевий час.
Синтаксис
setUTCFullYear(yearValue)
setUTCFullYear(yearValue, monthValue)
setUTCFullYear(yearValue, monthValue, dateValue)
Параметри
yearValue-
Представляє рік, який потрібно встановити. Наприклад, 1995.
автор: Bond monthValue-
Представляє місяць від 0 до 11, де 0 відповідає січню, 1 - лютому, і так далі. Якщо вказано
автор: BonddateValue, то цей параметр також має бути вказаний. dateValue-
Представляє день місяця від 1 до 31. Цей параметр можна вказати, тільки якщо також вказано
автор: BondmonthValue.
Повернення
timestamp-
Метод модифікує об'єкт
автор: BondDateі повертає новий часовий штамп (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
Коментарі
Коментарів ще немає — будьте першим!