2010-08-01 51 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;