小智 84
最简单的方法:
$time = strtotime('monday this week');
Run Code Online (Sandbox Code Playgroud)
nic*_*ckf 12
试试这个:
return strtotime('last monday', strtotime('next sunday'));
Run Code Online (Sandbox Code Playgroud)
api*_*s17 10
echo date('Y-m-d',time()+( 1 - date('w'))*24*3600);
Run Code Online (Sandbox Code Playgroud)
下周:
echo date('Y-m-d',time()+( 8 - date('w'))*24*3600);
Run Code Online (Sandbox Code Playgroud)
1周一,2周二,周三3周等.试试.
echo date('Y-m-d', strtotime('previous monday'));
Run Code Online (Sandbox Code Playgroud)
但是只需要一个注释.你想确保今天不是星期一,否则你会得到上一个星期一的日期,就像它说的那样.你可以这样做
if (date('w') == 1)
{
// today is monday
}
else
{
// find last monday
}
Run Code Online (Sandbox Code Playgroud)
$thisMonday = date('l, F d, Y', time() - ((date('w')-1) * 86400) );
编辑:说明
date('w') 是星期几的数字表示形式(0 =星期日,6 =星期六)因此,如果当前是星期三(第3天),则星期一是两天前:
time() - (86400 * (3 - 1)) = time() - 86400 * 2
如果是星期一(第1天),我们得到:
time() - (86400 * (1 - 1))= time() - 86400 * 0=time()
如果是星期天(第0天),则星期一是明天。
time() - (86400 * (0 - 1))= time() - -86400=time() + 86400