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()возвращает год поUTCgetFullYear()возвращает год по локальному времени
Обычно результат одинаковый, но возле границы года он может отличаться.
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-строками.