PHP strtotime () «первый понедельник, февраль» возвращает второй понедельник, если 1 февраля - понедельник

Я работаю над функцией PHP, которая вычисляет праздники:

function holidays($country = 1, $timespan_start = 0, $timespan_end = 0)

Праздники возвращаются как отметки времени в массиве.

Поскольку мне нужно вычислять даты, например, первый понедельник февраля, я попробовал strtotime ("первый понедельник февраля $ год") и обнаружил, что это не работает в 2010 году, начиная с 02 / 01/2010 - понедельник - вместо этого я получаю 8 февраля.

Эта ошибка фактически упоминается в журнале изменений: В PHP 5 до 5.2.7 запрос определенного наступления данного дня недели в месяце, когда этот день недели был первым днем ​​месяца, будет некорректным. добавить одну неделю к возвращаемой метке времени. Это было исправлено в 5.2.7 и более поздних версиях.

Но я использую PHP 5.3.8. Почему у меня возникает эта ошибка?

7
задан Book Of Zeus 11 October 2011 в 11:03
поделиться