を使用して特定の月の最初の水曜日を把握しようとしていstrtotime
ますが、最初の水曜日がたまたま 1 日に当たると、「最初の水曜日」引数は失敗します。
この問題のより一般的な図については、次のコードと結果を参照してください。
$mon = strtotime("December 2010 first monday");
$tue = strtotime("December 2010 first tuesday");
$wed = strtotime("December 2010 first wednesday");
$thu = strtotime("December 2010 first thursday");
$fri = strtotime("December 2010 first friday");
$sat = strtotime("December 2010 first saturday");
$sun = strtotime("December 2010 first sunday");
echo strftime("%m/%d/%y", $mon) . "<br>";
echo strftime("%m/%d/%y", $tue) . "<br>";
echo strftime("%m/%d/%y", $wed) . "<br>";
echo strftime("%m/%d/%y", $thu) . "<br>";
echo strftime("%m/%d/%y", $fri) . "<br>";
echo strftime("%m/%d/%y", $sat) . "<br>";
echo strftime("%m/%d/%y", $sun) . "<br>";
結果:
12/06/10
12/07/10
12/08/10
12/02/10
12/03/10
12/04/10
12/05/10
何か気づきましたか?週の 1 日は月の 1 日と一致するべきではありませんか? しかし、そうではなく、その日の 2 番目のインスタンスである 8 日が常に返されます。
誰でもこれについて説明がありますか?