显示MySQL的时间戳正确

问题描述:

嘿,我尝试使用,以显示从一个时间戳字段的日期/时间:显示MySQL的时间戳正确

echo $date = date("D F j", $row['date']); 

但是它返回:星期三12月3日 当它应该返回今天:周一7月13日

DB行的时间戳是:2009-07-13 04:16:31

谢谢。

您应该使用

SELECT UNIX_TIMESTAMP(`date`) AS `date` FROM ... 

这会给你以正确的格式的日期传递给PHP的date()功能。

编辑:

SELECT *, UNIX_TIMESTAMP(`date`) AS `date` FROM songs WHERE date >= DATE_SUB(NOW() , INTERVAL 2 WEEK) 

作为一个侧面说明 - 这是最好的(),以避免使用现在的查询,因为它防止它们被高速缓存 - 注入在你申请的日期来代替。

+0

Erm ...我如何将它集成到我的SELECT *查询中:SELECT * FROM songs WHERE date> = DATE_SUB(NOW(),INTERVAL 2 WEEK) – ian 2009-07-13 11:07:23

+0

感谢NOW()我会改变它。 – ian 2009-07-13 11:16:20

也是可能的:

$date = date("D F j", strtotime($row['date'])); 

但格雷格的解决方案是更好的编码。