javascript - MomentJS 获取具有可变一周第一天的周数

标签 javascript momentjs

我正在尝试获取日期的周数,但我希望它能与一周的可变第一天一起使用。用户可以设置一周的第一天。我找不到 javascript 解决方案,所以我试了一下。不幸的是,我找不到设置一周第一天的方法。例如。美国是星期天,欧盟是星期一,但如果也可以是其他任何一天就好了。

最佳答案

时刻支持i18n , 你可以 change locale globallychange locales locally并根据语言环境规则更新一周的第一天。然后你可以使用week()那:

Gets or sets the week of the year.

Because different locales define week of year numbering differently, Moment.js added moment#week to get/set the localized week of the year.

The week of the year varies depending on which day is the first day of the week (Sunday, Monday, etc), and which week is the first week of the year.

这里有一个示例显示同一天(例如 2017-08-13)如何使用不同的语言环境具有不同的星期值:

moment.locale('en');
var now2 = moment('2017-08-13');
console.log( now2.week() ); // 33

moment.locale('it');
var now1 = moment('2017-08-13');
console.log( now1.week() ); // 32
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>


如果您不想更改 moment 区域设置,您可以使用 updateLocale 方法简单地自定义一周的第一天(对于当前区域设置),只需更改 dow 的值week 对象的 (星期几)键(和 doy 键,如果需要的话)。参见 Customize文档部分以获取有关区域设置自定义的更多信息。

这是一个活生生的例子:

var now1 = moment('2017-08-13');
console.log( now1.week() ); // 33

moment.updateLocale('en', {
  week: {
    dow : 1, // Monday is the first day of the week.
  }
});

var now2 = moment('2017-08-13');
console.log( now2.week() ); // 32
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

关于javascript - MomentJS 获取具有可变一周第一天的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45774927/

相关文章:

javascript - meteor : react 加入 "publish-with-relations"-package

javascript - 使用 Moment.js 在 JavaScript 中单击按钮时显示新计时器

javascript - 有什么办法可以将 Livestamp.js 时间从 '10 minutes ago' 缩短到 '10m ago' 吗?

javascript - 通过跨站点 AJAX 解释 JSONP

javascript - 如何在刷新页面后保留最后一个JQuery DIV位置?

javascript - React Native - 捕获所有触摸事件但 Touchable 不冒泡

javascript - MomentJs isBetween() 函数未返回预期结果?

javascript - 当我使用 diff 时,Moment JS 给出了错误的日期

javascript - 你能用 Moment.js 从日期字符串中获取日期格式模式吗

javascript - 使 YouTube JS API 与 iOS 一起工作,处理 embedSWF?