почему так происходит?
strtotime('01.02.2005') = 1107205200
strtotime('01/02/2005') = 1104613200
Вторая дата читается как "месяц/день/год"
Из мануала:
если разделителем является слэш (/), то дата интерпретируется в американском формате m/d/y, если же разделителем является дефис (-) или точка (.), то подразумевается использование европейского формата d-m-y.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей