我正在尝试使用 MySQL 表中的数据在屏幕上显示日期,例如 2013 年 10 月 4 日星期一。日期以 DATE 格式存储。我正在使用以下内容,但出现错误:
echo "<td class='date' colspan='8'>" .date($row['draw_date'],'l F j, Y'). "</td>";
请告诉我我做错了什么。
该date()
函数需要一个 Unix 时间戳作为它的第二个参数,您现在提供的格式作为第二个参数。
string date ( string $format [, int $timestamp = time() ] )
您需要首先使用将您的日期字符串转换为 Unix 时间戳,strtotime()
然后您可以使用它date()
来获取所需格式的日期:
date('l F j, Y', strtotime($row['draw_date']))
有关更多信息,请参阅文档:date()
您有向后的参数date()
,您需要在date()
函数中使用日期之前将其转换为时间戳。:
date($row['draw_date'],'l F j, Y')
应该
date('l F j, Y', strtotime($row['draw_date']))
MySQL 将以字符串格式返回日期,例如2013-10-07
. 您不能将该字符串用作 PHPdate()
函数中的时间戳。该函数需要一个 UNIX 时间戳,它是一个简单的整数。在 MySQL 中使用date_format()格式化您的日期并简单地输出字符串,或者使用 MySQL 的unix_timestamp()将本机 DATE 转换为您可以输入 PHP 的日期系统的 unix 时间戳。
我从不同的建议中使用了以下内容,它似乎有效。谢谢你的帮助。
$row['display_date'] = strtotime($row['date']);
echo "<td class='date' colspan='8'>".date('D M d, Y', $row['display_date']). "</td>";