Преобразовать формат `20180801 21: 10: 12.016` в метку времени

1

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

Я пытаюсь использовать Date, new Date, parse() ,... но не возвращать значения коррекции. и вернуть 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);

Но это осложнилось, есть ли у вас лучшее решение?

Теги:
timestamp
date

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню