转换为dd / mmm / yyyy

时间:2009-12-04 12:00:29

标签: php date-format date-formatting

我正在以yyyy / mm / dd 00:00:00的格式从MySQL检索日期。我想在PHP中将此日期转换为格式dd / MMM / yyyy。

5 个答案:

答案 0 :(得分:12)

使用PHP的datestrtotime

$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']);

如果您的日期字段为DATETIMETIMESTAMP,则适用。记得将字段包装在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');