1901-12-12T05: 00: 00Z, например
Я не могу проверить это сейчас, но конструктор DateTime
может сможет принять ваш формат без необходимости createFromFormat
.Я не могу сказать по документации.
Попробуйте
try {
$date = new DateTime('1901-12-12T05:00:00Z');
} catch (Exception $e) {
echo "Arggh! ".$e->getMessage();
die();
}
echo $date->format('Y-m-d H:i:s');
и посмотрите, что произойдет, обращая особое внимание на то, правильно ли он понимает Z
(т.е. делает его временем UTC).
DateTime
использует 64-битные числа для внутреннего использования в любой системе и не имеет ограничений по диапазону.
Как уже говорилось, начиная с 5.3 вы сможете использовать createFromFormat
, который может анализировать любую дату, указанную одним из заполнителей date()
.Это оптимальный способ, потому что вы заставляете его анализировать определенный шаблон, а не угадывать его.