以下是问题的概述:在星期天,strtotime('this week')
返回下周的开始。
在PHP中,一周似乎从星期一开始。但是,在除了星期天以外的任何一天,这段代码
echo date('Y-m-d', strtotime('monday this week', strtotime('last sunday')));
输出本周星期一的日期,但实际上它似乎输出了上周的星期一。在这种情况下,PHP好像将周日和周一都视为一周的开始。现在是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
$date = new DateTime(); $date->setTimezone(new DateTimeZone('America/Los_Angeles')); $date->setTimestamp(strtotime('last sunday')); echo $date->format('Y-m-d');
此外,我已经检查过我的服务器,准电子流通速率应该是……无限制的。因此,我认为这不是问题所在。 - tvanc