Я использую node.js для выбора информации из моей базы данных mysql, и у меня есть столбец даты и времени, но я не получаю нужный формат.
Это мой sql-код
SELECT id, data, titulo, subtitulo, texto, DATE(datahora_cadastro) as data FROM sig_noticias
Мне нужно, чтобы данные были такими: DD/MM/YYYY
Но я получаю это: Thu Mar 30 2017 00:00:00 GMT-0300 (GMT-03:00)
Самый простой способ отформатировать даты в Javascript — это, безусловно, использовать современную библиотеку даты/времени. Я лично использую МоментJS, и он работает хорошо. Я настоятельно рекомендую это решение, если вы планируете работать с датами хотя бы в нескольких областях вашего приложения.
Используя момент, вы можете просто вызвать moment(myDate).format("DD/MM/YYYY");
.
Однако, если вы действительно хотите придерживаться чистого Javascript, вот как получить нужный формат:
const formattedDate = `${myDate.getDate() + 1}/${myDate.getMonth() + 1}/${myDate.getFullYear()}`;
Встроенные функции даты в Javascript довольно запутаны. Здесь, например, методы getDate
и getMonth
возвращают индекс даты/месяца, а не фактическую дату/месяц, поэтому нам нужно добавить к ним +1
.
Использование ванильного Javascript становится еще сложнее при работе с датами (добавление, вычитание) и часовыми поясами.
Спасибо!! Я буду использовать момент навсегда, ха-ха
(new Date()).toLocaleDateString("en-GB")
.
Мне жаль @FláviaNunes, в моей строке формата была опечатка. Я исправил это сейчас.