将`20180801 21:10:12.016`格式转换为时间戳

时间:2018-10-20 06:51:05

标签: javascript date timestamp

建议如何使用JavaScript或jquery解析样本20180801 21:10:12.016日期并将其转换为时间戳?

我尝试Datenew Dateparse(),...,但不返回校正值。并返回Invalid DateNaN

正确的值为:1533141612016(以我的本地时间为准)

我了解new Date("2018-08-01 21:10:12.016").getTime(),但与日期格式略有不同。所以我写这段代码:

var _o = "20180801 21:10:12.016";
const regex = /([0-9]{4})([0-9]{2})([0-9]{2})\ (.+)/gm;
var _x = regex.exec(_o);
_x = _x[1] + '-' + _x[2] + '-' + _x[3] + ' ' + _x[4];
_x = Date.parse(_x);
console.log(_x);

但这很复杂,您有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您考虑使用Moment.js吗?

该库将为您节省大量时间和日期;)

const input = "20180801 21:10:12.016";
const output = moment(input, "YYYYMMdd HH:mm:ss.SSS");
console.log(output);
console.log(output.valueOf());
<script src="https://momentjs.com/downloads/moment.js"></script>

来源:https://momentjs.com