GetFullYear: примеры (JAVASCRIPT)
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.
#includetime_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