Преобразовать формат `20180801 21: 10: 12.016` в метку времени - PullRequest
0 голосов
/ 20 октября 2018

Каким образом совет для разбора образца 20180801 21:10:12.016 встречается с javascript или jquery и конвертирует его в метку времени?

Я пытаюсь Date, new Date, parse(), ... но неt вернуть корректирующие значения.и вернуть Invalid Date или NaN.

Правильное значение: 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 голосов
/ 20 октября 2018

Рассматривали ли вы использовать 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

...