GetFullYear: примеры (JAVASCRIPT)

Использование метода getFullYear для работы с годом даты
Раздел: Дата и время, Методы
getFullYear: Number

Описание функции getFullYear

Метод getFullYear() принадлежит объекту Date в JavaScript. Его применяют для извлечения года из указанной даты в соответствии с местным временем.

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

Синтаксис метода простой: dateObj.getFullYear(). Он не принимает никаких аргументов.

Возвращаемое значение — целое число, представляющее год указанной даты. Для годов в диапазоне 1000–9999 возвращается четырехзначное число (например, 2024). Для годов за пределами этого диапазона, включая отрицательные значения (до нашей эры), метод также возвращает соответствующее целое число.

Простые примеры использования

Базовый вызов для текущей даты:

const today = new Date();
console.log(today.getFullYear());
2024

Использование с конкретной датой:

const specificDate = new Date('2030-07-15');
console.log(specificDate.getFullYear());
2030

Получение года для даты до 1000 года:

const oldDate = new Date('0950-05-20');
console.log(oldDate.getFullYear());
950

Аналогичные функции в JavaScript

getYear() — устаревший метод, возвращающий разницу между годом указанной даты и 1900. Не рекомендуется к использованию.

getUTCFullYear() — возвращает год по всемирному координированному времени (UTC). Применяют, когда нужна независимость от часового пояса пользователя.

toLocaleDateString() с параметрами — возвращает отформатированную строку с датой, включая год, согласно локали. Используют для локализованного отображения.

Предпочтительнее использовать getFullYear() для точного получения числового значения года. Метод getUTCFullYear() выбирают для операций, требующих согласованности по UTC.

Аналоги в других языках программирования

PHP: Функция date('Y') форматирует временную метку. Возвращает год четырьмя цифрами.

echo date('Y');
echo date('Y', strtotime('2024-12-31'));
2024
2024

Python: Метод .year атрибута datetime объекта.

from datetime import datetime
print(datetime.now().year)
print(datetime(2024, 5, 1).year)
2024
2024

MySQL: Функция YEAR() извлекает год из даты.

SELECT YEAR(NOW()), YEAR('2024-08-20');
2024, 2024

C (стандартная библиотека): Используют структуру tm и функцию localtime(). Год хранится как число с 1900.

#include 
time_t t = time(NULL);
struct tm *lt = localtime(&t);
int year = lt->tm_year + 1900;
printf("%d", year);
2024

Основное отличие JavaScript-метода — его привязка к объекту Date и локальному времени, в то время как в Python и PHP работа чаще идет с отдельными функциями или атрибутами.

Распространенные ошибки

Вызов метода для переменной, которая не является объектом Date:

const notADate = '2024-01-01';
console.log(notADate.getFullYear());
TypeError: notADate.getFullYear is not a function

Использование устаревшего метода getYear() вместо getFullYear():

const date = new Date('2024-01-01');
console.log(date.getYear()); // 124 (2024 - 1900)
124

Ожидание, что метод изменит исходный объект Date:

const myDate = new Date();
myDate.getFullYear(); // Это только возвращает значение, не изменяя myDate
console.log(myDate); // Остается исходная дата
Mon Dec 16 2024 13:45:00 GMT+0300

Изменения в последних версиях

Спецификация метода getFullYear() остается стабильной в стандартах ECMAScript. Значительных изменений в его работе не было.

Стандарт ECMAScript 2023 и более ранние версии определяют его одинаково: метод возвращает год указанной даты по местному времени.

Разработчикам стоит учитывать, что поддержка дат за пределами диапазона 1000–9999 годов была реализована давно и является частью стандарта.

Расширенные примеры применения

Определение високосного года с использованием getFullYear():

function isLeapYear(date) {
    const year = date.getFullYear();
    return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
}
console.log(isLeapYear(new Date('2024-02-01')));
console.log(isLeapYear(new Date('2023-02-01')));
true
false

Вычисление возраста:

function calculateAge(birthDate) {
    const today = new Date();
    let age = today.getFullYear() - birthDate.getFullYear();
    const monthDiff = today.getMonth() - birthDate.getMonth();
    if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    return age;
}
const birth = new Date('1990-05-15');
console.log(calculateAge(birth));
34

Создание строки с финансовым годом (с апреля по март):

function getFinancialYear(date) {
    const year = date.getFullYear();
    const month = date.getMonth(); // 0-январь
    if (month < 3) { // январь-март
        return `${year-1}-${year}`;
    }
    return `${year}-${year+1}`;
}
console.log(getFinancialYear(new Date('2024-01-10')));
console.log(getFinancialYear(new Date('2024-05-10')));
2023-2024
2024-2025

Сравнение только годов двух дат:

const date1 = new Date('2024-11-10');
const date2 = new Date('2024-06-05');
console.log(date1.getFullYear() === date2.getFullYear());
true

JS getFullYear function comments

En
GetFullYear Returns the year (4 digits for 4-digit years) of the specified date