我有一些博客文章,我想在其中显示帖子的发布日期。为此,我想使用 momentjs
。所以 HTML 看起来像这样
<span class="published_date" data-publish-date="2019-06-20"></span>
<span class="published_date" data-publish-date="2019-07-01"></span>
<span class="published_date" data-publish-date="2019-08-23"></span>
我的 JS 看起来像这样:
$(".published_date").each(function() {
let publishDate = $(this).attr("data-publish-date");
let formattedDate = moment(publishDate, "d. MMMM YYYY").format(
"d. MMMM YYYY"
);
$(this).text(formattedDate);
});
这会返回错误的日期
4. June 2019
1. July 2019
5. August 2019
我不知道为什么会发生这种情况,有人可以帮助我吗?
最佳答案
由于您的输入采用 ISO 8601 识别格式,因此您可以使用 moment(String)
并在 format()
使用大写 D
表示月份中的某天,而不是小写字母 d
表示星期几
这是一个实时示例:
$(".published_date").each(function() {
let publishDate = $(this).attr("data-publish-date");
let formattedDate = moment(publishDate).format(
"D. MMMM YYYY"
);
$(this).text(formattedDate);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<span class="published_date" data-publish-date="2019-06-20"></span>
<span class="published_date" data-publish-date="2019-07-01"></span>
<span class="published_date" data-publish-date="2019-08-23"></span>
关于javascript - JQuery 如何在使用 Moment JS 时返回正确的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57987942/