我想为此使用时刻。
moment("date","YYYYMMDD").fromNow(); // ~~ years ago example
我从MongoDB createAt获得UTC,但我不知道将UTC转换为字符串(可变日期(。
例如(mongodb_createAt = 2018-09-18T12:22:19.491Z
此mongodb_createAt转换为字符串(日期(
我想将 utc 转换为日期字符串。
我想显示~~几年前(喜欢YouTube(
如何??
谢谢。
查看时刻文档 https://momentjs.com/docs/#/displaying/fromnow/
尝试moment().fromNow();
它应该输出... years ago
你可以使用momentjs的.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>
请注意,传递给.humanize(true)
的true
参数将时态添加到displayString
字符串中 - 即 true 会导致类似"17 小时前"的结果,而不仅仅是"17 小时">
有关humanize()
方法的更多信息,请参阅官方文档