本周的PHP工作日,为什么下周会有date()和strtotime?

Dav*_*vid 3 php date strtotime

我使用以下代码获取工作日的Ymd格式:

$monday = date('Y-m-d', strtotime('Monday'));
$tuesday = date('Y-m-d', strtotime('Tuesday'));
$wednesday = date('Y-m-d', strtotime('Wednesday'));
$thursday = date('Y-m-d', strtotime('Thursday'));
$friday = date('Y-m-d', strtotime('Friday'));
Run Code Online (Sandbox Code Playgroud)

今天是2012-08-01(第31周),我需要的周一价值应该是2012-07-30.

为什么strtotime('Monday')下周一会这样呢?

Bhu*_*kka 8

因为date('Y-m-d')返回今天的日期,即八月份.而要转换mondaytime.现在时间用date(Y-m-d)(2012年8月)表示.所以明显的答案是从今天开始的下一个星期一.

所以要获得上周的日期,请使用

$monday=date(Y-m-d,strtotime('monday this week'))
Run Code Online (Sandbox Code Playgroud)