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