是否使用本机方法在JavaScript中反转Date.toLocaleSt

Native method to inverse Date.toLocaleString convertion in JavaScript?(是否使用本机方法在JavaScript中反转Date.toLocaleString转换?)

本文介绍了是否使用本机方法在JavaScript中反转Date.toLocaleString转换?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们已将日期转换为locale string。例如:
x = (new Date()).toLocaleString()

且x具有值

"20.05.2018, 10:21:37"

如何将此字符串处理为Date对象。

我被试过

new Date(x)
Invalid Date

Date.parse(x)
NaN

没有像moment.js这样的外部库也是可能且简单的?

推荐答案

您可以自己分析它。

数据-lang="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);

或使用正则表达式

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
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);

这篇关于是否使用本机方法在JavaScript中反转Date.toLocaleString转换?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:是否使用本机方法在JavaScript中反转Date.toLocaleSt