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

时间:2014-10-30 16:22:41

标签: javascript momentjs

使用momentJs,可以根据Locale获取一周的第一天(星期一(1),星期日(7)......)而不创建新时刻?

我知道我可以通过以下方式访问当前语言环境的第一天:

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

但我认为这有点难看......

  1. 创建一个momentjs对象。
  2. 转到本周的第一个日期。
  3. 解决周日。
  4. 有什么好主意吗? THX!

3 个答案:

答案 0 :(得分:16)

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

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

正如OP所要求的那样 - 不需要片刻()的实例,也不需要去"开始"只是简单地使用他们的localeData。

请注意,可能需要下载时刻+语言环境文件,该文件明显大于(仅限于12kb)时刻(44kb)。

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:0)

看起来你可以做一下()。locale('us')。工作日(0)从版本2.1.0开始 http://momentjs.com/docs/#/get-set/weekday/