使用momentJs根据Locale获取一周中的第一天



使用momentJs,可以获得一周中的第一天(星期一(1)、星期日(7)…)基于Locale而不创造新的时刻?

我知道我可以用访问当前地区的一周中的第一天

moment.locale('uk');
moment().startOf('week').isoWeekday(); //Returns 1
moment.locale('en');
moment().startOf('week').isoWeekday(); //Returns 7

但我觉得有点难看。。。

  1. 创建momentjs对象
  2. 去参加本周的第一次约会
  3. 解决工作日

有更好的主意吗?Thx!

这个问题在momentjs当前的API中有一个正确的答案:

moment.localeData('en-us').firstDayOfWeek();

正如OP所问的那样,不需要moment()的实例,也不需要去"开始"的丑陋,只需要简单地使用他们的localeData。

请注意,可能需要下载moment+locale文件,该文件比仅moment(约12kb)大得多(44kb)。

似乎是2.2.0版本的情况,更多信息可以在他们的文档中找到:http://momentjs.com/docs/#/i18n/locale-数据/

在我看来,您想获得一个区域设置感知的周开始(startOf('week')),并将其值返回为isoWeekday,而不是日期或其他什么?在这种情况下,你的问题就是答案。

moment().startOf('week').isoWeekday();

从2.1.0版本开始,您似乎只能执行moment().locale('us').workday(0)http://momentjs.com/docs/#/get-设置/工作日/

最新更新