如何在不使用区域设置的情况下在momentjs库中设置一周的第一天

时间:2015-07-18 20:22:53

标签: javascript datetime momentjs

在我写的软件中,不会设置选择区域设置的页面。我将仅向用户提供日期格式以及他们选择将哪一天视为一周中的第一天的方式。

有没有办法可以设置星期几的瞬间,以便在进行所有计算时总是使用该设置?

感谢。

1 个答案:

答案 0 :(得分:2)

我找到了这个问题的一个解决方案,我认为这是一个黑客攻击。基本上它都来自locale,更准确地说,我们需要自定义默认的(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

其他语言环境数据,如月份名称,星期几,相对日期将从默认语言环境继承(在我们的例子中,我们定制的是相同的语言环境)

这是经过测试的,而且我们承认我们所做的改变。我知道这不是最漂亮的方式,但它确实有效。