我正在使用以下代码获取工作日的 Y-m-d 格式:
$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'));
今天是 2012-08-01(第 31 周),我需要的星期一值应该是 2012-07-30。
strtotime('Monday')
怎么会变成下周一?
最佳答案
因为 date('Y-m-d')
返回今天的日期,即八月。您正在将 monday
转换为 time
。现在时间以 date(Y-m-d)
(2012 年 8 月)表示。所以显而易见的答案是从今天开始的下一个星期一。
所以要得到上周的日期,使用
$monday=date(Y-m-d,strtotime('monday this week'))
关于当前一周的 PHP 工作日,为什么 date() 和 strtotime 下周需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756351/