PHP: DATETIME в массиве как объект. Как эхо

Надеюсь, что название не слишком загадочно. У меня есть массив с объектом DATETIME в нем, и я просто пытаюсь понять, как откликнуться на эту страницу.

["created"]=> object(DateTime)#3 (3) { ["date"]=> string(19) "2010-10-22 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" 

Кто-нибудь может мне помочь?

дата (), но получите:

 Warning: date() expects parameter 2 to be long, object given in C:\ 

любая помощь, которую больше всего ценит,

Джоунси

http://www.php.net/manual/en/datetime.format.php

 echo date_format(myArray["created"], "the format you want for your date"); 

Форматирование:

http://www.php.net/manual/en/function.date.php

Используйте DateTime::format() . Синтаксис маски идентичен date() .

 echo $value->format('Ymd H:i:s'); 

Если это фактический объект DateTime php5, вы можете использовать метод format для эха

 $myDate = $myArray['created']; echo $myDate->format('Ymd H:i:s'); 

Я добавляю этот ответ, даже если я не уверен, что он отвечает конкретно на вопрос (и лучший ответ уже есть), но я не мог найти много других мест, где упоминается вышеупомянутый формат ( date / время timezone_type / timezone ).

Если у вас есть дата, переведенная с объекта на массив

  • через var_export

DateTime::__set_state(array( 'date' => '2017-12-05 11:58:25.428595', 'timezone_type' => 3, 'timezone' => 'US/Pacific', ))

  • или json_encode

{"date":"2017-12-05 11:57:07.938671","timezone_type":3,"timezone":"US\/Pacific"}

вы можете снова использовать метод DateTime::__set_state magic, упомянутый выше, чтобы снова преобразовать его в объект DateTime .

Не уверен, как здесь __set_state может быть двунаправленным, но он делает магию . Я не мог найти документацию.

Но вы можете проверить его здесь: http://sandbox.onlinephpfunctions.com/code/0a18e6937e7d4373beb91713f2e6e5f75f9af3e2