将日期格式更改为数组中的yyyy / mm / dd并转换为json格式

时间:2014-04-07 11:18:40

标签: php json kohana

这是我的控制器代码:

$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之前

1 个答案:

答案 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 |
+---------------------+