0

我正在尝试使用 MySQL 表中的数据在屏幕上显示日期,例如 2013 年 10 月 4 日星期一。日期以 DATE 格式存储。我正在使用以下内容,但出现错误:

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

请告诉我我做错了什么。

4

4 回答 4

1

date()函数需要一个 Unix 时间戳作为它的第二个参数,您现在提供的格式作为第二个参数。

string date ( string $format [, int $timestamp = time() ] )

您需要首先使用将您的日期字符串转换为 Unix 时间戳,strtotime()然后您可以使用它date()来获取所需格式的日期:

date('l F j, Y', strtotime($row['draw_date']))

有关更多信息,请参阅文档:date()

于 2013-10-07T18:08:43.443 回答
0

您有向后的参数date(),您需要在date()函数中使用日期之前将其转换为时间戳。:

date($row['draw_date'],'l F j, Y')

应该

date('l F j, Y', strtotime($row['draw_date']))
于 2013-10-07T18:08:52.613 回答
0

MySQL 将以字符串格式返回日期,例如2013-10-07. 您不能将该字符串用作 PHPdate()函数中的时间戳。该函数需要一个 UNIX 时间戳,它是一个简单的整数。在 MySQL 中使用date_format()格式化您的日期并简单地输出字符串,或者使用 MySQL 的unix_timestamp()将本机 DATE 转换为您可以输入 PHP 的日期系统的 unix 时间戳。

于 2013-10-07T18:10:21.780 回答
0

我从不同的建议中使用了以下内容,它似乎有效。谢谢你的帮助。

$row['display_date'] = strtotime($row['date']);
    echo "<td class='date' colspan='8'>".date('D M d, Y', $row['display_date']). "</td>";
于 2013-10-08T19:04:15.403 回答