getUTCFullYear() в JavaScript — рік дати за часом UTC


Загальний опис

Date.prototype.getUTCFullYear() - це метод об'єкта Date в JavaScript, який використовується для отримання року вказаної дати за координованим універсальним часом (UTC). Використання цього методу дуже просте. Якщо у вас є об'єкт дати, вам просто потрібно викликати цей метод без будь-яких аргументів. Наприклад:

let currentDate = new Date();
console.log(currentDate.getUTCFullYear());  // може вивести, наприклад, 2023

Основна сфера застосування методу - це ситуації, коли вам потрібно створити уніфіковане представлення дати для користувачів у різних часових поясах.

Особливості Date.prototype.getUTCFullYear():

  1. Метод завжди повертає рік у форматі ЧЧЧЧ (наприклад, 2023).
  2. Він не враховує локальний часовий пояс користувача, завжди повертаючи результат за UTC.
  3. Результат відображає актуальний рік дати об'єкта, а не поточний рік в системі.

Цей метод відрізняється від Date.prototype.getFullYear(), який повертає рік в локальному часовому поясі. Це може призвести до плутанини, особливо якщо різниця в часових поясах призводить до зміни дати.

автор: Bond

Порада

Якщо ви створюєте функції або бібліотеки для роботи з датами, розгляньте можливість інтеграції з іншими часовими бібліотеками, як-от moment.js. Це дозволить вам використовувати getUTCFullYear() для отримання базового значення року і потім легко маніпулювати цими датами з додатковими функціями, що надають ці бібліотеки.

автор: Bond
Порада

Якщо ваш додаток або веб-сайт використовується в різних часових поясах, завжди використовуйте методи з префіксом "UTC", зокрема Date.prototype.getUTCFullYear(), щоб уникнути неочікуваних відхилень в датах. Це забезпечує консистентність виведення даних для всіх користувачів.

Приклад:

let date = new Date();
let localYear = date.getFullYear(); 
let utcYear = date.getUTCFullYear();
console.log(`Локальний рік: ${localYear}, UTC рік: ${utcYear}`);
автор: Bond
Порада

Перед використанням методу getUTCFullYear() завжди переконуйтеся, що ви працюєте з екземпляром об'єкта Date. Це запобігає виникненню помилок у випадку, якщо ви намагаєтеся викликати цей метод з несумісного типу.

Приклад:

if(date instanceof Date) {
   console.log(date.getUTCFullYear());
}
автор: Bond
Нотатка

Для новачків важливо розрізняти Date.prototype.getUTCFullYear() від Date.prototype.getFullYear(). Перший повертає рік в UTC, тоді як другий - в локальному часовому поясі. Неправильне використання може призвести до неточностей в даних.

автор: Bond

Синтаксис

getUTCFullYear()

Повернення

integer

Повертає чотиризначне ціле число, яке відображає рік в часовому поясі UTC для заданого об'єкта дати.

автор: Bond

Переглядачі

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

Приклади

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

Цей приклад демонструє, як визначити, чи є поточний рік високосним, використовуючи getUTCFullYear(). Функція isLeapYear() приймає рік як аргумент і повертає true, якщо рік є високосним, і false в іншому випадку. Високосний рік визначається так: він повинен ділитися на 4, але не на 100, або ділитися на 400.

function isLeapYear(year) {
    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}

let currentYear = new Date().getUTCFullYear();
if(isLeapYear(currentYear)) {
    console.log(`${currentYear} є високосним роком.`);
} else {
    console.log(`${currentYear} не є високосним роком.`);
}
автор: Bond

Цей приклад дозволяє користувачеві ввести дату певної події. Після натискання кнопки, на екрані виводиться кількість років, які пройшли з дати цієї події до сьогоднішньої дати, враховуючи UTC. JavaScript-функція обраховує різницю між роками, але також враховує місяці та дні, щоб отримати точний розрахунок.

HTML

<header>
  <h2 class="title">Date.prototype.getUTCFullYear()</h2>
  <p class="description">Метод, який повертає рік заданої дати за координованим світовим часом (UTC).</p>
</header>
<main>
  <div class="result">
    Виберіть дату події: <input type="date" id="eventDate">
    <button onclick="calculateYearsPassed()">Розрахувати роки з моменту події</button>
    <div id="output">Пройшло років: </div>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

JS

function calculateYearsPassed() {
  let eventDate = new Date(document.getElementById("eventDate").value);
  let currentDate = new Date();

  let yearsPassed = currentDate.getUTCFullYear() - eventDate.getUTCFullYear();

  // Коригування року, якщо місяць або день в певному році ще не настав
  if (currentDate.getUTCMonth() < eventDate.getUTCMonth() ||
  currentDate.getUTCMonth() === eventDate.getUTCMonth() && currentDate.getUTCDate() < eventDate.getUTCDate()) {
    yearsPassed--;
  }

  document.getElementById("output").innerText = "Пройшло років: " + yearsPassed;
}
//# sourceURL=pen.js
автор: Bond

У цьому прикладі ми створюємо новий об'єкт Date на основі рядка дати (в форматі ISO). Потім ми порівнюємо рік заданої дати з поточним роком. Щоб отримати роки, ми використовуємо метод getUTCFullYear() для обох дат. На основі порівняння ми виводимо відповідне повідомлення.

let userDate = new Date("2000-01-15T12:00:00Z"); // задана дата
let currentYear = new Date().getUTCFullYear();  // поточний рік

if(userDate.getUTCFullYear() === currentYear) {
    console.log("Задана дата відноситься до поточного року.");
} else {
    console.log(`Задана дата відноситься до ${userDate.getUTCFullYear()} року.`);
}
автор: Bond

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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