MomentJS上周五开始了

Rya*_*ady 5 javascript momentjs

我有一个用户输入的日期,我转换为片刻

var newDate = moment('01/02/2015');
Run Code Online (Sandbox Code Playgroud)

我需要做的是相对于传入的日期,获得上一个星期五.我怎样才能做到这一点?

我想过做这样的事情:

moment('01/02/2015').add('-1', 'week').day(5); 
Run Code Online (Sandbox Code Playgroud)

但是想知道它有多可靠.

Jay*_*rby 16

newDate.day(-2);
Run Code Online (Sandbox Code Playgroud)

就这么简单.:)

day()设置相对于它正在处理的时刻对象的星期几. moment().day(0)总是回到本周初.moment().day(-2)可以追溯到本周开始的两天,即上周五.

注意:即使newDate在星期五或星期六,这将返回上周的星期五.要避免此行为,请使用以下命令:

newDate.day(newDate.day() >= 5 ? 5 :-2);
Run Code Online (Sandbox Code Playgroud)

  • 站立纠正这确实有效. (2认同)