@xutegino

Как распарсить эту дату?

Какие есть способы из строки 2017-09-08T21:03:49.736Z извлечь 2017-09-08?
  • Вопрос задан
  • 340 просмотров
Решения вопроса 4
evgeniy8705
@evgeniy8705
Повелитель вселенной
"2017-09-08T21:03:49.736Z".match(/\d+-\d+-\d+/).join();
"2017-09-08T21:03:49.736Z".match(/.{10}/).join();
"2017-09-08T21:03:49.736Z".slice(0, 10);
"2017-09-08T21:03:49.736Z".split("T")[0];
"2017-09-08T21:03:49.736Z".substring(0, 10);
[..."2017-09-08T21:03:49.736Z"].splice(0, 10).join("");
"2017-09-08T21:03:49.736Z".match(/[\d-]+/)[0]; // @romasovest
Ответ написан
boratsagdiev
@boratsagdiev
const parsed = new Date('2017-12-08T21:03:49.736Z');
parsed.getFullYear();
parsed.getMonth() (стоит помнить, что месяцы начинаются с 0, потому вернет 11).
parsed.getDate() / parsed.getUTCDate() (тут тоже свои заморочки)
Ответ написан
romasovest
@romasovest
~
"2017-09-08T21:03:49.736Z".match(/[\d-]+/)[0]; // результат 2017-09-08
Ответ написан
dmitry_pavlov
@dmitry_pavlov
World-class .NET freelance contractor (remotely)
Если кроме извлечения даты из ISO формата не нужно, то split-a достаточно. Если же с датами нужно активно работать и для парсинга и для форматирования - советую обратить внимание на moment.js - удобная библиотека с подробной документацией.
// например, получить то, что вам надо
var yyyymmdd = moment(new Date('2017-09-08T21:03:49.736Z')).format('YYYY-MM-DD');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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