javascript - JQuery 如何在使用 Moment JS 时返回正确的日期

标签 javascript jquery momentjs

我有一些博客文章,我想在其中显示帖子的发布日期。为此,我想使用 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/

相关文章:

javascript - Asp.net Mvc使用ajax上传多个文件出现一些错误

javascript - 将两个 "DD-MM"字符串评估为日期并计算之前或之后

javascript - Moment.js 无法正确解析 JavaScript 日期

javascript - 如何使用 jQuery .keyup() 函数捕获键盘输入

javascript - 使用 redux 时出现 eslint 奇怪的错误

javascript - 如果 div 为空,则添加警报

javascript - 时刻日期选择器 : subcription to KO property

javascript - 任何人都可以建议一个起点,以了解导致图形将 'shimmy' 加载到位的效果

javascript - Jquery - 如果 div 具有特定类,则忽略事件?

jQuery 选择下一个最接近的类