Я пытаюсь выяснить первую среду месяца, используя 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-го, всегда возвращается.
У кого-нибудь есть объяснение?