Como você explica o resultado de um novo \ DateTime ('0000-00-00 00:00:00')?
Aqui está um código de teste:
<?php
ini_set('date.timezone', 'Europe/London');
$dt = new \DateTime('0000-00-00 00:00:00');
var_dump($dt);
Isso fornece:
object(DateTime)[1]
public 'date' => string '-0001-11-30 00:00:00' (length=20)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/London' (length=13)
Considerando que esta não é uma data válida. Eu não entendo o valor retornado, especialmente o mês ... você pode explicar?