Я хочу преобразовать временную метку миллисекунд Unix в читаемую дату.
Моя отметка времени - 1525772511140. Правильный вывод должен выглядеть примерно так: 29-05-2018 9:41:51 AM
Теперь мой код возвращает неверную дату: 31-10-50319 03:10...
код:
var timeStamp = new Date(1525772511140 * 1000);
var date = moment(timeStamp).format('DD-MM-YYYY HH:mm');
console.log(date);
Вы можете просто использовать moment(Number)
:
Подобно
new Date(Number)
, вы можете создать момент, передав целочисленное значение, представляющее количество миллисекунд с момента Unix Epoch (1 января 1970 года 12:00 UTC)
var date = moment(1525772511140).format('DD-MM-YYYY HH:mm');
console.log(date);
// with seconds and AM/PM
date = moment(1525772511140).format('DD-MM-YYYY hh:mm:ss A');
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
Исходное решение для JavaScript (без instant.js):
var d = new Date(1525772511140);
console.log(
("0" + d.getDate()).slice(-2) + '-' +
("0" + (d.getMonth()+1)).slice(-2) + '-' +
d.getFullYear() + ' ' +
d.getHours() + ':' +
d.getMinutes()
);
Ни один из ответов не дает правильного вывода.
В вопросе ожидаемый результат - 29-05-2018 9:41:51 AM, который является moment().format('DD-MM-YYYY HH:mm:ss A')
Ниже приведен правильный ответ в соответствии с вопросом:
let date = moment(1525772511140).format('DD-MM-YYYY HH:mm:ss A');
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
Для получения дополнительной информации о форматах момента проверьте эту ссылку: https://momentjs.com/docs/#/parsing/special-formats/
Просто удалите *1000
из своего заявления, и он работает:
var timeStamp = new Date(1525772511140);
var date = moment(timeStamp).format('DD-MM-YYYY HH:mm');
console.log(date);
<script src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
Временная метка уже в миллисекундах, поэтому нет необходимости умножать на 1000.
Пытаться
const date = moment(new Date(1525772511140)).toDate();
или же
const date = moment(new Date(1525772511140)).format('DD-MM-YYYY HH:mm')
Попробуй это
moment.unix(1525772511140 / 1000).format('DD-MM-YYYY HH:mm')