Learn JavaScript

getUTCFullYear() - получение года по UTC в JavaScript

getUTCFullYear() возвращает год из объекта Date по UTC.

Если говорить просто, этот метод берёт дату и достаёт из неё полный год, но делает это не по локальному времени пользователя, а по всемирному времени UTC.

Синтаксис

Базовая запись выглядит так:

date.getUTCFullYear()

Где:

  • date - это объект Date

Аргументы этому методу не нужны.

Что возвращает getUTCFullYear()

Метод возвращает число.

const date = new Date(Date.UTC(2025, 0, 15, 23, 30, 0));

console.log(date.getUTCFullYear()); // 2025
console.log(typeof date.getUTCFullYear()); // "number"

Это важно: getUTCFullYear() возвращает именно число, а не строку.

Простой пример

const date = new Date(Date.UTC(2025, 0, 15, 23, 30, 0));

console.log(date.getUTCFullYear()); // 2025

Здесь:

  • 2025 - год
  • 0 - январь
  • 15 - день месяца

Метод возвращает год по UTC.

Пример с началом отсчёта

const date = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));

console.log(date.getUTCFullYear()); // 1970

Так видно, что метод возвращает обычный полный год и по UTC.

getUTCFullYear() не меняет дату

Метод только читает значение года.

Он не изменяет исходный объект Date.

const date = new Date(Date.UTC(2025, 0, 15, 23, 30, 0));
const year = date.getUTCFullYear();

console.log(year); // 2025
console.log(date); // исходная дата остаётся той же

getUTCFullYear() работает именно по UTC

Это главный момент.

Метод getUTCFullYear() всегда смотрит на дату с точки зрения UTC.

Если вам нужен год по локальному времени пользователя, используют getFullYear().

Чем getUTCFullYear() отличается от getFullYear()

Разница такая:

  • getUTCFullYear() возвращает год по UTC
  • getFullYear() возвращает год по локальному времени

Обычно результат одинаковый, но возле границы года он может отличаться.

const date = new Date("2024-12-31T23:30:00-02:00");

console.log(date.toISOString()); // 2025-01-01T01:30:00.000Z
console.log(date.getUTCFullYear()); // 2025

Если вы работаете с серверным временем, ISO-строками и UTC, этот нюанс особенно важен.

Когда это полезно

getUTCFullYear() особенно удобен, когда:

  • дата хранится в UTC
  • вы работаете с серверным временем
  • нужно одинаковое поведение независимо от часового пояса пользователя
  • вы разбираете ISO-строки и данные из API

Пример:

const createdAt = new Date("2025-01-15T12:00:00Z");

if (createdAt.getUTCFullYear() === 2025) {
  console.log("Запись создана в 2025 году по UTC");
}

Проверка года у даты из ISO-строки

Метод удобно использовать, когда дата приходит в формате UTC.

const date = new Date("2025-06-10T08:30:00Z");

console.log(date.getUTCFullYear()); // 2025

Такой код предсказуемо работает именно по всемирному времени.

Невалидная дата даёт NaN

Если объект Date содержит некорректную дату, результатом будет NaN.

const date = new Date("invalid");

console.log(date.getUTCFullYear()); // NaN

Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.

getUTCFullYear() не создаёт дату и не форматирует строку

Этот метод не создаёт новую дату и не превращает её в текст.

Он только возвращает число года по UTC.

const date = new Date(Date.UTC(2025, 0, 15, 23, 30, 0));

console.log(date.getUTCFullYear()); // 2025

Если нужен другой формат, придётся использовать сам объект Date или другие методы отдельно.

Частые ошибки

Путать getUTCFullYear() и getFullYear()

const date = new Date("2024-12-31T23:30:00-02:00");

console.log(date.getUTCFullYear()); // 2025

Если важен именно UTC, используйте getUTCFullYear(), а не getFullYear().

Ожидать локальное время вместо UTC

const date = new Date("2025-01-01T00:30:00Z");

console.log(date.getUTCFullYear());

Этот метод специально работает по UTC, а не по часовому поясу пользователя.

Вызывать getUTCFullYear() не у объекта Date

Правильно:

const date = new Date();

console.log(date.getUTCFullYear());

Неправильно:

Date.getUTCFullYear();

Метод getUTCFullYear() работает у экземпляра Date, а не у самого объекта Date.

Ожидать строку вместо числа

const year = new Date().getUTCFullYear();

console.log(typeof year); // "number"

Результат метода - число.

Не учитывать NaN у невалидной даты

const date = new Date("invalid");

console.log(date.getUTCFullYear()); // NaN

Если дата может быть некорректной, полезно сначала проверить сам объект даты.

Быстрая памятка

  • getUTCFullYear() вызывается у объекта Date
  • метод возвращает год числом
  • аргументы ему не нужны
  • getUTCFullYear() работает по UTC
  • для локального времени есть getFullYear()
  • возле границы года результат может отличаться от getFullYear()
  • у невалидной даты результатом будет NaN

Коротко

getUTCFullYear() в JavaScript нужен, чтобы получить год из объекта Date по всемирному времени UTC. Главное, что стоит запомнить: метод возвращает число, не зависит от локального часового пояса пользователя, не изменяет саму дату и особенно полезен при работе с UTC, API и ISO-строками.