这是我的控制器代码:
$news = Model::factory('News')->get_all_news($user_id);
$news->as_array();
foreach($news as $news):
$sa[] = $news->as_array();
endforeach;
echo '{"news":'.json_encode($sa).'}';
阵列:
Array
(
[0] => Array
(
[user_id] => 32
[created_date] => 2014-04-05 19:06:01
)
[1] => Array
(
''''''''''
)
)
我以JSON格式输出数组。我在数组中有很多数据,但我想格式化日期。现在我以yyyy-mm-dd hh:mm:ss
格式获取日期,但我希望将其格式化为yyyy/mm/dd hh:mm:s
。
我该怎么做? (最好在将此数组编码为JSON之前)
答案 0 :(得分:1)
您可以使用DateTime格式化日期
$date = new DateTime("2014-04-07 11:22:12");
echo $date->format("Y/m/d H:i:s");
然后推送到json数组或反之亦然
旁注: 如果您可以控制查询,则可以直接在查询中执行此操作。 在Mysql中,可以使用DATE_FORMAT
完成因此,您的查询返回的数据将采用所需的格式,无需进行任何进一步的PHP操作。 这是一个例子
select date_format(transdate,"%Y/%m/%d %H:%i:%s") as log_date from log where idusers = 1 ;
+---------------------+
| log_date |
+---------------------+
| 2013/05/13 00:00:00 |
| 2014/02/26 00:00:00 |
| 2014/02/26 00:00:00 |
| 2014/02/26 00:00:00 |
+---------------------+