Форматировать строку даты в JavaScript

1

Привет всем, у меня есть поле даты строки типа с форматом iso следующим образом: const date = "2017-06-10T16: 08: 00: я хочу как-то отредактировать строку в следующем формате: 10-06-2017, но я "Я пытаюсь добиться этого. Я вырезал подстроку после символа" Т "

Теги:
string
customization

6 ответов

8
Лучший ответ

Используйте Moment.js и функцию .format.

moment('2017-06-10T16:08:00').format('MM/DD/YYYY');

Выйдет

06/10/2017

Помимо функции format Moment.js обогатит вас, вы получите больше полезных функций.

  • 8
    Не предлагайте плагины в качестве ЕДИНСТВЕННОГО решения, особенно когда OP не просил об этом.
6

Это может быть достигнуто без moment.js, но я предлагаю вам использовать его

var date = new Date("2017-06-10T16:08:00");

var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();

if (day < 10) {
  day = '0' + day;
}
if (month < 10) {
  month = '0' + month;
}

var formattedDate = day + '-' + month + '-' + year
2

Я хотел бы предложить использовать момент js найти его - http://momentjs.com/docs/

и использовать его как

    moment(date.toString()).format("MM/DD/YYYY")
1

Если строка даты всегда находится в формате ISO, вы также можете использовать regex для переформатирования без другой библиотеки:

date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '$3-$2-$1')
0

Использование Date.toJSON()

function formatDate(userDate) {
  // format from M/D/YYYY to YYYYMMDD
  return (new Date(userDate).toJSON().slice(0,10).split('-').reverse().join('-'));
}

console.log(formatDate("2017-06-10T16:08:00"));
0

Вы можете использовать встроенную функцию JavaScript date(), чтобы получить части требуемой даты/времени. Например, чтобы отобразить время 10:30:

<script>
var date = new Date();
 var min = date.getMinutes();
  var hour = date.getHour();
   document.write(hour+":"+min);
   </script>

Чтобы использовать год, месяц, дату, день недели

  • getFullYear();

  • getMonth();

  • GetDate();

  • getDay();

Чтобы получить дату публикации:

  • 0
    var month = date.getMonth () + 1; Месяц начинается с 0, поэтому январь равен 0, февраль равен 1 ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню