Moment.js — анализировать дату и время назад

Я сохраняю свою дату так в своей базе данных монго:

Thu Oct 25 2018 17:30:03 GMT+0300 (EAT) 

Я хотел бы использовать moment.js, чтобы иметь в интерфейсе, например 1 hour ago или 3 hours ago. Как бы я это сделал?


person Dng    schedule 27.10.2018    source источник
comment
Во-первых, проанализируйте дату (вы можете заглянуть в расширение часового пояса момента). После разбора вы можете довольно легко найти относительное время.   -  person c1moore    schedule 27.10.2018
comment
На самом деле, поскольку у вас есть смещение UTC, вам, вероятно, не нужно расширение часового пояса.   -  person c1moore    schedule 27.10.2018


Ответы (2)


Если вы используете одну локаль, попробуйте

moment('Thu Oct 25 2018 17:30:03 GMT+0300').fromNow(); //eg. 1 day ago, 2 hours ago etc

or

moment('Thu Oct 25 2018 17:30:03 GMT+0300').fromNow(true); //eg. 1 day, 2 hours

подробнее см. документы

а также:

введите описание изображения здесь

person Paweł    schedule 27.10.2018
comment
Пришлось сначала преобразовать дату перед сохранением с помощью moment().format() - person Dng; 28.10.2018

вы можете добавить свою дату, а затем сравнить с текущим временем:

const timestamp = moment(dateFromDatabase, 'ddd MMM DD YYYY HH:mm:ss GMT Z').fromNow();

или вы также можете использовать diff()

const timestamp = moment(dateFromDatabase, 'ddd MMM DD YYYY HH:mm:ss GMT Z').diff(Date.now(), 'hours');

Вы можете изменить измерения, используя years, months, weeks, days, hours, minutes и seconds.

Дополнительную информацию можно найти здесь.

person Darryl RN    schedule 27.10.2018