Dan*_*iel 5 javascript locale date date-parsing
我们已将日期转换为locale string. 例如:
x = (new Date()).toLocaleString()
Run Code Online (Sandbox Code Playgroud)
并且 x 有值
"20.05.2018, 10:21:37"
Run Code Online (Sandbox Code Playgroud)
如何处理这个字符串到Date对象。
我被尝试过
new Date(x)
Invalid Date
Run Code Online (Sandbox Code Playgroud)
和
Date.parse(x)
NaN
Run Code Online (Sandbox Code Playgroud)
moment.js无需像?这样的外部库,就可以简单地做到这一点。
你可以自己解析一下。
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);Run Code Online (Sandbox Code Playgroud)
或者使用正则表达式
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);Run Code Online (Sandbox Code Playgroud)