这是问题的摘要: 在星期日,strtotime('this week')
返回下周的开始。
在 PHP 中,一周似乎从星期一开始。但是,在除星期日之外的任何一天,此代码
echo date('Y-m-d', strtotime('monday this week', strtotime('last sunday')));
输出本周星期一的日期,看起来应该是上周的星期一输出。在这种情况下,PHP 似乎将星期日和星期一都视为一周的开始。现在是 2012 年 12 月 10 日星期一或 2012 年 12 月 10 日。date('Y-m-d', strtotime('sunday last week'))
返回2012-12-09
- 昨天。
这是一个错误,还是我错过了什么?看起来这个明显的错误应该是众所周知的,但我找不到任何关于它的信息。获得一周开始的唯一方法是在周日使用一些特殊处理吗?
$week_offset = (int) 'sunday' == date('l');
$week_start = strtotime("-$week_offset monday"); // 1 or 0 Mondays ago