<?php
$date = new DateTime('0000-00-00');
var_dump($date->format('Y-m-d H:i:s'));
$date = new DateTime('0000-01-00');
var_dump($date->format('Y-m-d H:i:s'));
$date = new DateTime('0000-00-01'); // "-0001-12-01 00:00:00" legal date fron illegal date
var_dump($date->format('Y-m-d H:i:s'));
$date = new DateTime('0000-01-01');
var_dump($date->format('Y-m-d H:i:s'));
$date = new DateTime('0001-00-00');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-11-30 00:00:00" legal date from illegal
$date = new DateTime('0001-01-00');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-12-31 00:00:00" legal date from illegal
$date = new DateTime('0001-00-01');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-12-01 00:00:00" legal date from illegal
$date = new DateTime('-0001-00-00');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-11-30 00:00:00" legal date from illegal
$date = new DateTime('-0001-01-00');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-12-31 00:00:00" legal date from illegal
$date = new DateTime('-0001-00-01');
var_dump($date->format('Y-m-d H:i:s')); // "-0002-12-01 00:00:00" legal date from illegal
$date = new DateTime('0001-01-01'); // Correct date
var_dump($date->format('Y-m-d H:i:s'));
$date = new DateTime('-0001-01-01'); // Correct date
var_dump($date->format('Y-m-d H:i:s'));