我有一个用户输入日期,我将其转换为片刻
var newDate = moment('01/02/2015');
我需要做的是相对于传入的任何日期,获取上一个星期五。我该如何做到这一点?
我想过做这样的事情:
moment('01/02/2015').add('-1', 'week').day(5);
但是想知道它有多可靠。
答案 0 :(得分:14)
newDate.day(-2);
就这么简单。 :)
day()
设置相对于它正在处理的时刻对象的星期几。
moment().day(0)
总是回到本周初。 moment().day(-2)
比本周初,也就是上周五晚两天回来。
注意:即使newDate在星期五或星期六,也会返回上周的星期五。要避免此行为,请使用:
newDate.day(newDate.day() >= 5 ? 5 :-2);