首页 > 解决方案 > moment.js,根据 locale dow 列出天数

问题描述

我有一个脚本在语言环境中设置开始一周的日期,但是当我按我期望的顺序列出它们的日期时:

moment.updateLocale(this.language, {
    week: {
        dow: 4,
    },
});
const weekDays = moment.weekdaysMin();

在这种情况下,我希望得到列表:

Thu Fri Sat Sun Mon Tue Wed

但我总是得到:

Sun Mon Tue Wed Thu Fri Sat

我真的很感激一些帮助,因为我不知道这里出了什么问题。

标签: javascriptmomentjs

解决方案


您可以将布尔参数传递weekdaysMin给按区域设置排序的工作日。

请参阅列出文档的当前 Moment.js 语言环境部分的月份和工作日:

类似地,moment.monthsShort返回缩写的月份名称,并且moment.weekdays, moment.weekdaysShortmoment.weekdaysMin返回工作日列表。... 从2.13.0开始,您可以将 bool 作为工作日函数的第一个参数传递。如果为 true,则将按区域设置特定顺序返回工作日。

这是一个现场样本:

moment.updateLocale('en', {
  week: {
    dow: 4,
  },
});
const weekDays = moment.weekdaysMin();
console.log(weekDays);
const weekDaysSort = moment.weekdaysMin(true);
console.log(weekDaysSort);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>


推荐阅读