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

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


当前回答

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

$oDate = new DateTime($row->createdate);
$sDate = $oDate->format("Y-m-d H:i:s");

其他回答

要在PHP中正确格式化DateTime对象以存储在MySQL中,请使用MySQL使用的标准化格式,即ISO 8601。

PHP从5.1.1版本开始就将这种格式存储为常量,我强烈建议使用这种格式,而不是每次都手动输入字符串。

$dtNow = new DateTime();
$mysqlDateTime = $dtNow->format(DateTime::ISO8601);

这个和其他PHP DateTime常量的列表可以在http://php.net/manual/en/class.datetime.php#datetime.constants.types上找到

这会有用的……

echo date('m/d/y H:i (A)',strtotime($data_from_mysql));

如果您正在寻找一种将日期规范化为MySQL格式的方法,请使用以下方法

$phpdate = strtotime( $mysqldate );
$mysqldate = date( 'Y-m-d H:i:s', $phpdate );

$phpdate = strtotime($mysqldate)行接受一个字符串,并执行一系列启发式操作将该字符串转换为unix时间戳。

$mysqldate = date('Y-m-d H:i:s', $phpdate)使用该时间戳和PHP的日期函数将该时间戳转换回MySQL的标准日期格式。

(编者注:这个答案在这里是因为一个原始的问题,措辞令人困惑,这个答案提供了一般谷歌有用性,即使它没有直接回答现在存在的问题)

将从MySQL检索到的日期转换为所要求的格式(mm/dd/yy H:M (AM/PM)):

// $datetime is something like: 2014-01-31 13:05:59
$time = strtotime($datetimeFromMysql);
$myFormatForView = date("m/d/y g:i A", $time);
// $myFormatForView is something like: 01/31/14 1:05 PM

请参考PHP日期格式选项来调整格式。

忘记所有。只使用:

$date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))