2016-02-14 108 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的答案,不得不改变小事情。感谢马特和其他人的帮助。

:)