我在MySQL中有一个日期时间列。

如何将其转换为显示为mm/dd/yy H:M (AM/PM)使用PHP?


当前回答

直接输出,如德文格式:

  echo(date('d.m.Y H:i:s', strtotime($row["date_added"])));

其他回答

这将格式化SQL查询中的字段:

SELECT DATE_FORMAT( `fieldname` , '%d-%m-%Y' ) FROM tablename

最后是PHP 5.3及以上版本的正确解决方案: (像评论中提到的那样,在示例中添加了可选的时区)

无时区:

$date = \DateTime::createFromFormat('Y-m-d H:i:s', $mysql_source_date);
echo $date->format('m/d/y h:i a');

时区:

$date = \DateTime::createFromFormat('Y-m-d H:i:s', $mysql_source_date, new \DateTimeZone('UTC'));
$date->setTimezone(new \DateTimeZone('Europe/Berlin'));
echo $date->format('m/d/y h:i a');

如果您正在使用PHP 5,也可以尝试一下

$oDate = new DateTime($row->createdate);
$sDate = $oDate->format("Y-m-d H:i:s");
$valid_date = date( 'm/d/y g:i A', strtotime($date));

参考:http://php.net/manual/en/function.date.php

使用PHP版本4.4.9和MySQL 5.0,这对我来说是有效的:

$oDate = strtotime($row['PubDate']);
$sDate = date("m/d/y",$oDate);
echo $sDate

PubDate是MySQL中的列。