Я работаю над функцией PHP, которая вычисляет праздники:
function holidays($country = 1, $timespan_start = 0, $timespan_end = 0)
Праздники возвращаются как метки времени в массиве.
Поскольку мне нужно вычислять даты, как в первый понедельник февраля, я попытался strtotime("first monday february $year")
и обнаружил, что это не работает в 2010 году, поскольку 01.02.2010 - понедельник - вместо этого я получаю 8 февраля.
Эта ошибка фактически упоминается в журнале изменений:
В PHP 5 до 5.2.7, запрос данного вхождения данного дня недели в месяце, где этот день недели был первым днем месяца, неверно добавил бы одну неделю к возвращенной метке времени. Это было исправлено в 5.2.7 и более поздних версиях.
Но я использую PHP 5.3.8.
Почему я испытываю эту ошибку?