2016-02-14 107 views
1

我是MySQL的noob,有一個問題。我如何格式化從一列中獲取的日期?在foreach格式化MySQL日期

我的代碼是$row = $wpdb->get_results("select * from wp_miles");

foreach ($row as $row) { echo "$row->mile_history on $row->date<BR>";} 

這顯然是$row->date我想改變2016-02-13M j。由於

回答

1

使用此

date("M j",strtotime($row->date)); 
+0

我試過'foreach($ row as $ row){echo「$ row-> mile_history on」。日期(M j,$ row-> date)。 「
」;}'並得到'解析錯誤:語法錯誤,意想不到的'j'(T_STRING)在/home/nickgalgay/public_html/wp-content/themes/miletracker/mysqlecho.php上線11' –

+0

你錯過了'strtotime'這就是爲什麼它沒有返回任何有趣的東西。 – Matt

+0

另外,您錯過了'M J' – Matt

0

,你可以在你的查詢字符串使用mysql DATE_FORMAT功能:SELECT DATE_FORMAT(date, '%M %j') as date, ... FROM ...

1

你也可以做到這一點直接在MySQL查詢。無論是替換相同的字段值還是使用另一個字段名稱,如「formattedDate」。

"select *, date_format(date, '%b %e') AS date from wp_miles" 

或新的領域,如果你還需要日期字段作爲PHP日期的價值,但我不喜歡這種方法,如果你還需要使用日期作爲日期值在PHP,因爲它會返回從多個數據查詢。

"select *, date_format(date, '%b %e') AS formattedDate from wp_miles" 
0

這是什麼工作。

foreach ($row as $row) { echo "$row->mile_history on" . "&nbsp;" . date("M j",strtotime($row->date)) . "<BR>";} 

我用Matts的答案,不得不改變小事情。感謝馬特和其他人的幫助。

:)