Проблемы с преобразованием времени эпохи в точную дату - PullRequest
0 голосов
/ 25 октября 2019

У меня есть файлы с отметками времени, такими как 1564002293050. Использование https://www.epochconverter.com/ показывает Wednesday, July 24, 2019 9:04:53.050 PM, но мой код показывает Mon Apr 06 51531 02:24:10 GMT-0700 (Pacific Daylight Time). Почему это так?

Поскольку времена были сгенерированы в Unix, я умножил на 1000 мс. Затем отображается это значение.

time = 1564002293050;
var dateStamp = new Date(time* 1000);

Редактировать: Я ссылался на этот пост и несколько других подобных. Хорошо отметить, что если не умножить его на 1000, получится "Invalid Date".

Редактировать 2: Разберись. Я разбирал данные, но, похоже, мне пришлось преобразовать их в целое число parseInt(time), которое в итоге решило проблему. Извините за несвязанное решение ..

Ответы [ 2 ]

1 голос
/ 26 октября 2019
document.write(new Date(1564002293050));

Печать Wed Jul 24 2019 15:04:53 GMT-0600 (Mountain Daylight Time) (в моем TZ).

Даже это выдает то же самое в HTML, несмотря на то, что синтаксически не объявляется указанная переменная.

time = 1564002293050;
var dateStamp = new Date(time);
document.write(dateStamp);

Вы делаете это в браузере? Еще один движок Javascript?

0 голосов
/ 25 октября 2019

Конструктор Date принимает время эпохи в миллисекундах (https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date). Ваше время в миллисекундах. Нет необходимости умножать его на 1000.

...