そもそも-4というよりは、
 × substr($year + 1900, -2)
 ○ $year + 1900
みたいなかんじっぽいな
%04dに文字列渡してどうするんじゃと