Sul perche' cosi' al volo non saprei dire, ma risolverei con

codice:
$data_corretta = mktime(0, 0, 0, $m, $g - 1, $a);