码:
function getPreviousSunday()
{
var today=new Date();
return new Date().setDate(today.getDate()-today.getDay()-7);
}
function getPreviousMonday()
{
var today=new Date();
if(today.getDay() != 0)
return new Date().setDate(today.getDate()-7-6);
else
return new Date().setDate(today.getDate()-today.getDay()-6);
}
Run Code Online (Sandbox Code Playgroud)
推理:
取决于前一周的第一天你的意思.为了讨论,我会假设你的意思是前一个星期天.
要查找要减去的天数:
...
确定减去天数后的实际代码很简单:
var previous_first_day_of_week=new Date().setDate(today.getDate()-X);
Run Code Online (Sandbox Code Playgroud)
其中X是上面讨论的值.这个值是today.getDay()+ 7
如果在一周的第一天你意味着别的东西,你应该能够从上面的步骤中推断出答案.
注意:将负值传递给setDate函数是有效的,它将正常工作.
对于周一的代码.你有这种特殊情况,因为getDay()在星期一之前订购.因此,在这种情况下,我们基本上用getDay()的星期六值+ 1来替换getDay(),以便将星期日重新订购到本周末.
我们使用6的值作为星期一的减法因为getDay()每天返回1比我们想要的高.