Как получить текущий год в JavaScript?
Правильный способ: используйте getFullYear()
Для получения текущего года в JavaScript нужно использовать метод getFullYear() объекта Date. Он возвращает четырехзначное число, представляющее год (например, 2025). Вот правильный пример:
let currentDate = new Date();
let currentYear = currentDate.getFullYear();
console.log(currentYear); // Выведет: 2025 (или текущий год)
Почему не работает getYear()?
Метод getYear() устарел (deprecated) и не рекомендуется к использованию. Он возвращает год минус 1900. То есть:
- Для 2025 года: 2025 - 1900 = 125
- Для 2000 года: 2000 - 1900 = 100
- Для 1999 года: 1999 - 1900 = 99
Это поведение связано с историческими причинами (ранние версии JavaScript), но сейчас его лучше избегать. Вместо него всегда используйте getFullYear().
Пример для подвала сайта (копирайт)
Вот как можно динамически отобразить год в подвале:
// HTML: <span id="year"></span>
// JavaScript:
document.getElementById('year').textContent = new Date().getFullYear();
// Или еще проще (если используете шаблонные строки):
document.write(`© ${new Date().getFullYear()} Мой сайт. Все права защищены.`);
Дополнительные методы для работы с датой
Объект Date предоставляет и другие полезные методы:
getMonth()— месяц (0-11, где 0 = январь)getDate()— день месяца (1-31)getDay()— день недели (0-6, где 0 = воскресенье)getHours(),getMinutes(),getSeconds()— время
Важно про устаревшие методы
В JavaScript есть несколько устаревших методов, которые могут сбивать с толку новичков:
getYear()— устарел, используйтеgetFullYear()setYear()— устарел, используйтеsetFullYear()toGMTString()— устарел, используйтеtoUTCString()
Современные редакторы кода (VS Code) и линтеры (ESLint) обычно подсвечивают устаревшие методы как предупреждение. Всегда проверяйте документацию MDN для актуальных рекомендаций.
<<Альтернативный подход: использование Intl.DateTimeFormat
Если вам нужно получить год в определенном формате или локали, можно использовать объект Intl.DateTimeFormat:
let year = new Intl.DateTimeFormat('ru-RU', { year: 'numeric' }).format(new Date());
console.log(year); // "2025"
Короткий однострочник для копирайта
Самый компактный способ для подвала сайта — использовать Date().split(' ')[3], но он менее надежен:
// Быстрый, но не рекомендуется
let year = new Date().getFullYear();
// Или еще короче (но менее читаемо):
document.querySelector('footer').innerHTML += `© ${new Date().getFullYear()}`;
Совет: избегайте устаревших методов
Если вы используете TypeScript или современный JavaScript с линтером, устаревшие методы вроде getYear() будут подсвечены красным. Всегда отдавайте предпочтение getFullYear() — это стандарт ECMAScript с 1999 года.
Ответов пока нет.
Войдите чтобы оставить ответ