2010-08-01 27 views
1

我有以下MySQL查询:PHP转换日期,那么JSON编码

<?php 
$sql = "SELECT * FROM my_table"; 
$result = mysql_db_query($DBname,$sql,$link) or die(mysql_error()); 

$rows = array(); 

while($r = mysql_fetch_assoc($result)) { 
$rows[] = $r; 
} 

print json_encode($rows); 

?> 

,它输出以下JSON格式:

[ 
    { 
    "id":"100", 
    "due_date":"2010-08-24 10:00:36" 
    } 
] 

我的问题是:在我的MySQL查询,怎么会我可以先转换/修改一行(在这种情况下,日期),或者更确切地说,我将如何修改我当前的查询,使用类似:

$date = strtotime($r['due_date']); 
$new_date = date('j M', $date); 

然后JSON编码的结果,而不是要返回此:

[ 
{ 
"id":"100", 
"due_date":"24 Aug" 
    } 
] 

回答

7

你可以使用MySQL的DATE_FORMAT()做到这一点。

SELECT id, DATE_FORMAT(due_date_field, "%e %b") as due_date FROM my_table;