【发布时间】:2015-07-18 20:22:52
【问题描述】:
在我正在编写的软件中,不会有用于选择语言环境的设置页面。我将只为我的用户提供日期格式以及让他们选择将一周中的哪一天视为一周的第一天的方式。
有没有办法我可以为 momentjs 设置一周中的某一天,所以 momentjs 在进行所有计算时总是使用该设置?
谢谢。
【问题讨论】:
标签: javascript datetime momentjs
在我正在编写的软件中,不会有用于选择语言环境的设置页面。我将只为我的用户提供日期格式以及让他们选择将一周中的哪一天视为一周的第一天的方式。
有没有办法我可以为 momentjs 设置一周中的某一天,所以 momentjs 在进行所有计算时总是使用该设置?
谢谢。
【问题讨论】:
标签: javascript datetime momentjs
我找到了一个解决这个问题的方法,我认为这是一个 hack。基本上,这一切都与语言环境有关,更准确地说,我们需要自定义默认设置 (en)。
var first_day_of_week = 5;
moment.locale('en', {
week : {
dow : first_day_of_week,
doy : moment.localeData('en').firstDayOfYear()
}
});
我们使用新的语言环境定义初始化“en”语言环境,我们只更改 week.dow 参数。我们还需要补充 week.doy 参数,否则它将被重置为 undefined。
其他区域设置数据,如月份名称、星期几、相对日期将从默认区域设置(在我们的例子中与我们自定义的区域设置相同)继承
这是经过测试的,momentjs 承认我们所做的更改。我知道这不是最漂亮的方法,但它确实有效。
【讨论】: