Если вы абсолютно уверены, что формат даты никогда не изменится, вам лучше воспользоваться
echo substr('1999-00-00', 0, 4);
вместо того, чтобы нести большие издержки strtotime () и обходить всю подсистему даты / времени.
Когда вы сообщаете PHP-функциям даты, что месяц / день равны 0, что является «недействительным», оно преобразует их в соответствующие «предыдущие» значения.
, например
1999-00-10 is actually 1998-12-10
1999-11-00 is actually 1999-10-31
и так далее. Это как сказать «вчера» или «в прошлом месяце». аналогично, указание 13 месяца делает его
1999-13-01 is actually 2000-01-01