使日期显示为与标准MySQL y-m-d不同的格式

时间:2013-04-23 20:30:29

标签: php mysql

我在MySQL表中有一个'date'字段 - 它的结构是'DATE'。当我回应它时,它显示为标准的年 - 月 - 日,例如2013年4月23日。如何更改PHP以将其显示为日 - 月 - 年,并且最好显示月份名称,例如23四月-2013。

这是查询

$sql = 'SELECT headline, story, date, name
FROM tpf_news
INNER JOIN tpf_parks ON tpf_news.park_id = tpf_parks.park_id ORDER BY date DESC' ;
$result = $pdo->query($sql);

这是foreach循环

foreach ($result as $row)
{
$news[] = array(
'headline' => $row['headline'],
'story' => $row['story'],
'date' => $row['date'],
'name' => $row['name']
);
}

这是目前用于显示日期的PHP代码。

<?php echo $new['name'] , ' ', $new['date']; ?>

如何实现这一目标? 谢谢

3 个答案:

答案 0 :(得分:3)

使用MySQL的DATE_FORMAT()函数在查询中设置日期格式:

SELECT
    DATE_FORMAT(date, "$e-%M-%Y") AS date

答案 1 :(得分:2)

MySQL可以使用DATE_FORMAT()

为您完成这项工作

https://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_date-format

DATE_FORMAT( date , '%d-%M-%Y' )

答案 2 :(得分:0)

这是如何在PHP中完成的,其他建议可能会更好,因为它们直接在MySQL中执行。取决于你想要的东西。

$ fixed_date = date('d-F-Y',strtotime($ new ['date']));

应该这样做。