我正在从MySQL中检索日期,格式为yyyy/mm/dd 00:00:00。我想在PHP中将此日期转换为格式dd/MMM/yyyy。
我正在从MySQL中检索日期,格式为yyyy/mm/dd 00:00:00。我想在PHP中将此日期转换为格式dd/MMM/yyyy。
$formatted = date('d/M/Y', strtotime($date_from_mysql));
或者使用MySQL内置的DATE_FORMAT函数:
SELECT DATE_FORMAT(datetime, '%d/%b/%Y') datetime FROM table
或者,您可以混合使用两种方法:
SELECT UNIX_TIMESTAMP(datetime) timestamp FROM table;
$formatted = date('d/M/Y', $timestamp);
如果您需要在同一页上获取几种不同的格式,那么最后一种方法非常方便;比如,如果您想要分别打印日期和时间,那么只需使用 date('d/M/Y', $timestamp) 和 date('H:i', $timestamp) 即可,无需进行任何其他转换。
虽然您特别要求PHP解决方案,但您可能也对MySQL的date_format()函数感兴趣。
SELECT date_format(dt, '%d/%m/%Y') ...
SELECT *
吗?如果使用 SELECT *, DATE_FORMAT(...) as myDate FROM ...
也可以,但是这样 MySQL 就会传输两次日期字段,而日期字段只需要格式化一次的优势就不存在了。 - VolkerK你实际上可以让mySQL将日期转换为Unix时间戳
SELECT UNIX_TIMESTAMP(field) as date_field
FROM table
然后,您可以将其直接传递到PHP的date()函数中,以获得所需的格式。
date('d/M/Y', $row['date_field'])
$d=date_create('2009-12-04 09:15:00');
echo $d->format('dd/M/yyyy');