需要格式化日期

时间:2013-10-07 18:06:45

标签: php format

我试图使用MySQL表中的数据在屏幕上显示2013年10月4日星期一格式的日期。日期以DATE格式存储。我使用以下内容并收到错误:

echo "<td class='date' colspan='8'>" .date($row['draw_date'],'l F j, Y'). "</td>";

请告诉我我做错了什么。

4 个答案:

答案 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>";