Я добавляю этот ответ, даже если я не уверен, что он отвечает конкретно на вопрос (и лучший ответ уже есть), но я не смог найти много других мест, где указанный выше формат (date
/ timezone_type
/timezone
) упоминается.
Если у вас есть дата, переведенная из объекта в массив
DateTime::__set_state(array(
'date' => '2017-12-05 11:58:25.428595',
'timezone_type' => 3,
'timezone' => 'US/Pacific',
))
{"date":"2017-12-05 11:57:07.938671","timezone_type":3,"timezone":"US\/Pacific"}
Вы можете снова использовать магический метод DateTime::__set_state
, упомянутый выше, до , преобразовать его снова в DateTime объект .
Не уверен, как здесь __set_state
может быть двунаправленным, но он делает магию .Я не смог найти документацию.
Но вы можете проверить это здесь: http://sandbox.onlinephpfunctions.com/code/0a18e6937e7d4373beb91713f2e6e5f75f9af3e2