我想在屏幕上显示日期格式,例如2013年10月4日星期一使用MySQL表中的数据。日期以DATE格式存储。我正在使用以下内容并发生错误:需要格式化日期
echo "<td class='date' colspan='8'>" .date($row['draw_date'],'l F j, Y'). "</td>";
请告诉我我做错了什么。
我想在屏幕上显示日期格式,例如2013年10月4日星期一使用MySQL表中的数据。日期以DATE格式存储。我正在使用以下内容并发生错误:需要格式化日期
echo "<td class='date' colspan='8'>" .date($row['draw_date'],'l F j, Y'). "</td>";
请告诉我我做错了什么。
您有参数向后为date()
,您需要将您的日期转换为时间戳,然后才能在date()
函数中使用它。:
date($row['draw_date'],'l F j, Y')
应该
date('l F j, Y', strtotime($row['draw_date']))
date()
函数需要一个Unix时间戳作为其第二个参数,现在您将提供格式作为第二个参数。
string date (string $format [, int $timestamp = time() ])
您需要使用strtotime()
您的日期字符串转换到一个Unix时间戳,你可以用它在date()
来获得需要的日期格式:
date('l F j, Y', strtotime($row['draw_date']))
参考文档的详细信息:date()
的MySQL将被返回的字符串格式,例如日期2013-10-07
。您可以不是使用该字符串作为PHP的date()
函数中的时间戳。该函数需要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>";
如果'$ row ['draw_date']'不是Unix时间戳,会这样吗? –
其实没有。看到你的评论让我重新阅读他们的问题,我现在看到他们没有将数据存储为时间戳,这意味着它必须如此转换。我会相应地更新我的答案。 –