Разбор даты и времени с Z и T в JavaScript - PullRequest
2 голосов
/ 14 апреля 2019

В настоящее время я использую API, который возвращает метку времени в странном формате, который я пытаюсь проанализировать в метку времени Unix для моей базы данных, в результате я получаю:

"date": "20190412T131518.000Z",

Я пытался использовать:

var date = new Date(array.date);
console.log(date.parse);

, который просто возвращает NaN, поэтому я не уверен, куда идти с ним

Ответы [ 2 ]

7 голосов
/ 14 апреля 2019

Вы можете добавить несколько тире и двоеточий.

20190412T131518.000Z     // input
2019-04-12T13:15:18.000Z // needed format

Похоже, что Date не полностью принимает строку даты в формате ISO 8601 . Относится только версия от стандарта в виде

YYYY-MM-DDTHH:mm:ss.sssZ

var string = "20190412T131518.000Z",
    date = new Date(string.replace(/(....)(..)(.....)(..)(.*)/, '$1-$2-$3:$4:$5'));

console.log(date);
3 голосов
/ 14 апреля 2019

Вы можете разобрать строку в объект Date, как показано ниже:

let rawDate = "20190412T131518.000Z";
let myDate = new Date(Date.UTC(
  rawDate.substr(0, 4),
  rawDate.substr(4, 2),
  rawDate.substr(6, 2),
  rawDate.substr(9, 2),
  rawDate.substr(11, 2),
  rawDate.substr(13, 2)
));

console.log(myDate);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...