Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как отформатировать дату

Короткий ответ

Метод toLocaleDateString() форматирует дату по правилам указанного языка. Месяцы в конструкторе Date считаются с нуля, поэтому 2 — это март:

const date = new Date(2025, 2, 15);
 
console.log(date.toLocaleDateString('ru-RU'));

Результат:

15.03.2025

Название месяца

Второй аргумент управляет тем, какие части даты показать и как:

const date = new Date(2025, 2, 15);
 
console.log(date.toLocaleDateString('en-US', { day: 'numeric', month: 'long', year: 'numeric' }));

Результат:

March 15, 2025

Свой формат

Части даты можно получить по отдельности и собрать строку вручную:

const date = new Date(2025, 2, 5);
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0');
 
console.log(date.getFullYear() + '-' + month + '-' + day);

Результат:

2025-03-05

Частая ошибка

getMonth() считает месяцы с нуля, поэтому при форматировании прибавляйте единицу. А getYear() — старый метод, который возвращает год минус 1900:

const date = new Date(2025, 2, 5);
 
console.log(date.getMonth(), date.getMonth() + 1);
console.log(date.getYear(), date.getFullYear());

Результат:

2 3
125 2025

Функции из этого ответа

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.