問題の概要は次のとおりです。日曜日に、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