我正在以yyyy / mm / dd 00:00:00的格式从MySQL检索日期。我想在PHP中将此日期转换为格式dd / MMM / yyyy。
答案 0 :(得分:12)
$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);
如果你需要在同一页面上获得几种不同的格式,最后一种方法很方便;比如说,你想分别打印日期和时间,然后你就可以使用日期('d / M / Y',$ timestamp)和日期('H:i',$ timestamp)而无需进一步转换。
答案 1 :(得分:5)
虽然您特别要求提供php解决方案,但您可能也对MySQL的date_format()函数感兴趣。
SELECT date_format(dt, '%d/%m/%Y') ...
答案 2 :(得分:0)
您应该查看PHP中的date()
函数(docs)。
print date('d/M/Y', $row['tstamp']);
如果您的日期字段为DATETIME
或TIMESTAMP
,则适用。记得将字段包装在UNIX_TIMESTAMP()
(docs)中,例如SELECT ..., UNIX_TIMESTAMP(dateField) AS tstamp FROM ...
。
答案 3 :(得分:0)
您实际上可以让mySQL将日期转换为unix时间戳
SELECT UNIX_TIMESTAMP(field) as date_field
FROM table
然后你可以直接将它传递给PHPs date()函数以获得你想要的格式
date('d/M/Y', $row['date_field'])
答案 4 :(得分:0)
$d=date_create('2009-12-04 09:15:00');
echo $d->format('dd/M/yyyy');