我试图获得一个约会的周末,但我希望它能够在一周的第一天使用变量。用户可以设置一周的第一天。我无法找到一个javascript解决方案,所以我尝试了一下。不幸的是,我无法找到设定一周第一天的方法。例如。星期天美国,星期一为欧盟,但如果它可能在任何其他日子也会很好。
答案 0 :(得分:3)
Moment支持i18n,您可以change locale globally或change locales locally并根据区域设置规则更新一周的第一天。然后,您可以使用week()
:
获取或设置一年中的一周。
由于不同的语言环境以不同的方式定义一周中的一周,Moment.js添加了
moment#week
来获取/设置一年中的本地化周。一年中的哪一周取决于哪一天是一周的第一天(星期日,星期一等),哪一周是一年中的第一周。
此处的示例显示同一天(例如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>
&#13;
如果您不想更改时刻区域设置,只需使用updateLocale
方法自定义一周的第一天(对于当前区域设置),只需更改dow
的值即可(星期几)密钥(如果需要,还有doy
密钥)week
对象。请参阅文档的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
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;