We have date converted to locale string
. For example:
x = (new Date()).toLocaleString()
and x has value
"20.05.2018, 10:21:37"
How to process this string to Date
object.
I was tried
new Date(x)
Invalid Date
and
Date.parse(x)
NaN
It is possible and simple to do without external libraries like moment.js
?
You can parse it on your own.
const date = "20.05.2018, 10:21:37";
const [first, second] = date.split(',').map(item => item.trim());
const [day, month, year] = first.split('.');
const [hours, minutes, seconds] = second.split(':');
const newDate = new Date(year, month - 1, day, hours, minutes, seconds);
console.log(newDate);
Or using regex
const date = "20.05.2018, 10:21:37";
const m = /^(\d{2})\.(\d{2})\.(\d{4}), (\d{2}):(\d{2}):(\d{2})$/.exec(date);
const newDate = new Date(m[3], m[2] - 1, m[1], m[4], m[5], m[6]);
console.log(newDate);