我如何使用momentjs找到最后一个星期一?

cho*_*ovy 16 javascript date momentjs

我需要使用一些逻辑,要求周开始于星期一(而不是星期日).

我可以使用一周的功能开始:

moment().tz('America/Los_Angeles').startOf('week').add(1, 'day')

但是如果是星期天,我需要使用上周的日期并添加1以获得星期一.

无论日期是什么,我希望有一个更容易获得"最后一个星期一".

cho*_*ovy 46

我找到了答案(记录在案),但有一个isoWeek会在星期一而不是星期天开始.

周日开始一周:

moment().startOf('week');
Run Code Online (Sandbox Code Playgroud)

星期一开始一周:

moment().startOf('isoWeek');
Run Code Online (Sandbox Code Playgroud)


Lok*_*oki 5

要查找最后一个星期一,只需使用

moment().isoWeekday(-6); // ISO day of the week with 1 being Monday and 7 being Sunday.
Run Code Online (Sandbox Code Playgroud)

或区域设置感知版本

moment().weekday(-7); // when Monday is the first day of the week
Run Code Online (Sandbox Code Playgroud)