使用momentJs,可以获得一周中的第一天(星期一(1)、星期日(7)…)基于Locale而不创造新的时刻?
我知道我可以用访问当前地区的一周中的第一天
moment.locale('uk');
moment().startOf('week').isoWeekday(); //Returns 1
moment.locale('en');
moment().startOf('week').isoWeekday(); //Returns 7
但我觉得有点难看。。。
- 创建momentjs对象
- 去参加本周的第一次约会
- 解决工作日
有更好的主意吗?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-设置/工作日/