Как пребразовать значение в строке?
как из строки 01.10.2021 18:30
получить 2021, 10, 01, 18, 30
Ответы (4 шт):
Автор решения: WalkMess
→ Ссылка
В вашем случае мы можем работать с массивом, получая "." и разделять целый кусок на отдельные части, а исходный вариант перевернуть. Потом остается просто соединить массивы и склеить их.
const str = '01.10.2021 18:30';
const dates = str.split(' ')
.slice(0, 1)
.join()
.split('.')
.reverse();
const times = str.split(' ')[1]
.split(':');
const answer = dates.concat(times).join();
console.log(answer);
Автор решения: Dmitry
→ Ссылка
Вопрос больше состоит в том, какой тип данных на выходе вы хотите иметь. Выглядит как будто вы хотите использовать данные для создания объекта Date().
Может вам сразу создавать объект, если моя догатка верна
let a = "01.10.2021 18:30"
let dateFromString = new Date(a)
console.log(dateFromString)
если все таки нужна строка можно вручную сформатировать
let a = "01.10.2021 18:30"
let dateFromString = new Date(a)
let z = dateFromString.toISOString()
let newStringDate = z.substring(0, 4) + "," + z.substring(8, 10) + "," + z.substring(5, 7) + "," + z.substring(11, 13) + "," + z.substring(14, 16)
console.log(newStringDate)
Автор решения: Pavel Nazarian
→ Ссылка
let str = '01.10.2021 18:30';
let arr = str.split(/\D/);
[arr[0], arr[2]] = [arr[2], arr[0]];
console.log(...arr);
console.log(arr.join(', '));
Автор решения: teran
→ Ссылка
const str = "01.10.2021 18:30";
let [d,m,y, hh,mm] = str.split(/[.\s:]/);
console.log(y,m,d,hh,mm);