更新Moment.js日历

时间:2018-05-09 15:47:55

标签: javascript momentjs

像我之前的许多人一样(尤其是here),我试图使用moment.calendar显示没有约会的相对时间。但是,我似乎无法得到适合我的答案。

var today = moment(new Date()).startOf('Day');
today.calendar();
// Displays Today at 12:00 AM

  moment.updateLocale(null, {
    calendar : {
        lastDay : '[Yesterday]',
        sameDay : '[Today] With just the date?',
        nextDay : '[Tomorrow]',
        lastWeek : 'll',
        nextWeek : 'll',
        sameElse : 'll'
    }
    });

today.calendar();
// Displays Today at 12:00 AM

我希望它能显示"今天只有日期?"。

以下是我对Fiddle的尝试(基于另一个出色的时刻基础fiddle示例 - 信用到期的信用额度)

1 个答案:

答案 0 :(得分:1)

您需要指定要更新的区域设置名称,并在更新后创建时刻对象。

此外,With just the date?不是MomentJS的有效格式说明符。如果您需要显示它,则需要将其括在[]中。不过,您可以使用它在控制台上看到一些混乱的字符串:

moment.updateLocale('en', {
  calendar: {
    lastDay: '[Yesterday]',
    sameDay: '[Today] With just the date?',
    nextDay: '[Tomorrow]',
    lastWeek: 'll',
    nextWeek: 'll',
    sameElse: 'll'
  }
});

var today = moment(new Date()).startOf('Day');
console.log(today.calendar());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>