我目前正在做的是:
moment.locale(locale)
moment.weekdays(true)
但是moment.locale(locale)
更改了整个时刻库的区域设置,我只想在不改变它的情况下获取不同语言环境中的工作日列表。
我尝试使用
moment.localeData(locale).weekdays()
但是您无法将true
传递给“工作日”,因此结果不会对项目进行排序。例如:
moment.locale('en-us')
moment.weekdays(true) // ["Sunday", "Monday", ...
moment.locale('en-gb')
moment.weekdays(true) // ["Monday", "Tuesday", ...
但是
moment.localeData('en-us').weekdays() // ["Sunday", "Monday", ...
moment.localeData('en-gb').weekdays() // ["Sunday", "Monday", ...
没有
moment.localeData('en-gb').weekdays(true)
编辑: 看起来他们有一个关于它的公开问题,所以请同时建议你最好的黑客: https://github.com/moment/moment/issues/4066
答案 0 :(得分:3)
weekday
函数是区域设置感知的,所以
const weekdays = [0, 1, 2, 3, 4, 5, 6].map(dow => moment().locale('en-gb').weekday(dow).format('dddd'))
将为['Sunday', 'Monday', ...]
提供数组en-us
,为['Monday', 'Tuesday', ...]
提供en-gb
。