Как правильно распарсить строку в формат даты (native js)?
Здравствуйте. Подскажите, пожалуйста, как правильно решить следующую задачу. У меня есть следующий массив.
const arr = [ { "id":"1", "name":"John", "time":"20180625T070000", } ] Мне необходимо распарсить: arr.time |
Кто в таком формате поставляет? Должно быть 2018-06-25T07:00:00, тогда new Date('2018-06-25T07:00:00'). Иначе рег. выражением.
|
Цитата:
Цитата:
var str='20180625T070000'; alert(str.replace(/(\d{4})(\d\d)(\d\d\S\d\d)(\d\d)(\d\d)/,'$1-$2-$3:$4:$5')); |
ksa, это по уму входной формат должен быть таким, а распаристь фиг его знает что нужно. :) Может быть в итоге и такое:
const arr = [ { "id":"1", "name":"John", "time":"20180625T070000", } ]; var m = 'января февраля марта апреля мая июня июля августа сентября октября ноября декабря'.split(' '), d = arr[0].time.match(/(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})/); //если секунды нужны, то добавить в шаблон две последние цифры d[2] = m[parseInt(d[2])-1]; //название месяца d[3] = parseInt(d[3]); //удалить ведущий ноль у дня, это же самое можно сделать и для часов alert(d.slice(1, -2).reverse().join(' ')+' '+d.slice(-2).join(':')) //если с секундами, то смещение с конца -3 |
Цитата:
|
Всем спасибо за помощь.
|
Часовой пояс GMT +3, время: 20:27. |