Как преобразовать UTC в строку в моментах? - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу использовать момент для этого.

moment("date","YYYYMMDD").fromNow(); // ~~ years ago example

Я получаю UTC от MongoDB createAt.но я не знаю, конвертировать UTC в строку (переменная дата).

ex) mongodb_createAt = 2018-09-18T12:22:19.491Z

this mongodb_createAt конвертировать в строку (дата)

Я хочу utcпреобразовать в строку даты ..

Я хочу отобразить ~~ лет назад (например, YouTube)

Как ??

спасибо.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Для достижения этой цели вы можете использовать метод .humanize() момента *

. Сначала вам нужно вычислить продолжительность между вашей отметкой времени 2018-09-18T12:22:19.491Z и текущим временем.Если у вас есть эта продолжительность, вы можете использовать .humanize() примерно так:

var mongodb_createAt = '2018-09-18T12:22:19.491Z';
var millisecondsElapsed = moment(mongodb_createAt).diff(moment());
var displayString = moment.duration(millisecondsElapsed).humanize(true);

console.log(displayString) // eg 17 hours ago
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Обратите внимание, что аргумент true, переданный в .humanize(true), добавляет время к строке displayString - то есть true приводит к результату, подобному "17 часов назад"а не просто" 17 часов "

Для получения дополнительной информации о методе humanize(), см. официальную документацию

0 голосов
/ 18 сентября 2018

Посмотрите на текущую документацию https://momentjs.com/docs/#/displaying/fromnow/

Попробуйте moment().fromNow(); это должно вывести ... years ago

...