【发布时间】:2021-06-28 19:10:17
【问题描述】:
我正在使用 moment.js 来显示从“今天”到发布帖子的时间,对于任何具有原始 ISO 日期“.iso-date”的帖子,然后输出从div '.display-date' 中的帖子。我有一个可以正常工作的脚本,但它只显示“年”,如果帖子是今天,那么它什么也不输出。同样,它只显示前 12 个月后的几个月和几年,因此是 1-11 个月,然后只显示 x 年前。
当前输出“3 个月前发布”、“一年前发布”、“e 年前发布”等
所以我想看到类似“刚刚发布”、“今天发布”、“6 天前发布”、“3 周、5 天前发布”、9 个月、3 周、5 天前发布' 和 '在 3 年 9 个月 3 周 5 天前发布' - 或者只是'最近的日期间隔'。
标记示例
<div class="posts-list">
<div class="grid-block">
<div class="iso-date">2019-09-30</div>
<div class="display-date"></div>
</div>
<div class="grid-block">
<div class="iso-date">2020-07-12</div>
<div class="display-date"></div>
</div>
</div>
这是当前脚本:-
// Moment
$(document).ready(function () {
// Moment targets
var publishedDate = ".iso-date";
var displayDate = ".display-date";
$(publishedDate).each(function (i, e) {
var p = $(e).text();
var a = $(e).next(displayDate);
if (moment(p).isValid()) {
var m = moment(new Date(p));
var s = moment(new Date(m)).fromNow();
// var s = moment(new Date(m)).diff(moment(), 'milliseconds');
a.text("Posted " + s);
}
});
});
我希望您能就如何使用 Moment.js r 实现这一点提供意见,或许无需任何脚本依赖 - jQuery / JavaScript。
谢谢
格伦尼男孩
【问题讨论】:
-
先阅读这个project-status和这个twitter,想想你是否需要这么大的图书馆。
标签: javascript jquery date momentjs