@zonf1k

Почему неправильно отображается дата?

function regDate(stamp) { 
    let date = new Date(stamp),
        year = date.getFullYear(),
        month = (("0" + (date.getMonth() + 1)).slice(-2)),
        day = (("0" + (date.getDate())).slice(-2))
        return `${day}.${month}.${year}`;
}

console.log(regDate("9.6.2004")) //Выводит: 06.09.2004


При запуске, почему-то день и месяц меняются местами
  • Вопрос задан
  • 91 просмотр
Решения вопроса 3
new Date() парсит так строку, он воспринимает первое число как месяц.
Ответ написан
Комментировать
@shsv382
Потому что функция написана по американским стандартам, у них ММ.ДД.ГГГГ
Ответ написан
Комментировать
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Потому что это плохой способ указывать дату. Для корректного считывания надо использовать таймстампы из базенок или формы записи, указанные в документации. Чаще всего год идет впереди, за ним месяц и потом число. Меняя порядок рискуешь получить то, что получаешь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы