PHP: DATETIME в массиве как объект. Как повторить - PullRequest
9 голосов
/ 25 октября 2010

Надеюсь, этот заголовок не слишком загадочный.У меня есть массив с объектом 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:\

любая помощь, наиболее ценимая,

Джонси

Ответы [ 4 ]

11 голосов
/ 25 октября 2010

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

echo $value->format('Y-m-d H:i:s');
5 голосов
/ 05 декабря 2017

Я добавляю этот ответ, даже если я не уверен, что он отвечает конкретно на вопрос (и лучший ответ уже есть), но я не смог найти много других мест, где указанный выше формат (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, упомянутый выше, до , преобразовать его снова в DateTime объект .

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

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

5 голосов
/ 25 октября 2010

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

1 голос
/ 25 октября 2010

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

$myDate = $myArray['created'];
echo $myDate->format('Y-m-d H:i:s');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...