iam*_*esy 9 php arrays datetime object
希望标题不要太神秘.我有一个带有DATETIME对象的数组,我只想弄清楚如何将它回显到页面.
["created"]=> object(DateTime)#3 (3) { ["date"]=> string(19) "2010-10-22 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London"
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
试过date()但得到:
Warning: date() expects parameter 2 to be long, object given in C:\
Run Code Online (Sandbox Code Playgroud)
任何最感谢的帮助,
Jonesy
Pek*_*ica 11
使用DateTime::format()
.掩码语法与date()
's' 相同.
echo $value->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)
http://www.php.net/manual/en/datetime.format.php
echo date_format(myArray["created"], "the format you want for your date");
Run Code Online (Sandbox Code Playgroud)
格式:
http://www.php.net/manual/en/function.date.php
即使我不确定它是否专门回答了这个问题,我也添加了这个答案(尽管最佳答案已经存在),但是我找不到其他提及上述格式(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