Получение первого дня недели в месяце с помощью strtotime

Я пытаюсь вычислить первую среду данного месяца, используя 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-м числом месяца? Но этого никогда не происходит, и вместо этого всегда возвращается второй экземпляр дня, 8-го числа.

У кого-нибудь есть объяснение?

11
задан vascowhite 9 August 2013 в 06:45
поделиться