我在MySQL中有一个datetime列。
如何使用PHP将其转换为mm / dd / yy H:M(AM / PM)显示 ?
#1楼
忘记所有。 只需使用:
$date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))
#2楼
一种更简单的方法是直接在MySQL查询中而不是PHP格式化日期。 参见MySQL手册中的DATE_FORMAT 。
如果要使用PHP进行操作,则需要使用date函数,但是必须首先将数据库值转换为时间戳。
#3楼
使用日期功能:
echo date("m/d/y g:i (A)", $DB_Date_Field);
?>
#4楼
要将从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日期格式选项以调整格式。
#5楼
您还可以让查询以Unix时间戳返回时间。 这将消除调用strtotime()的需要,并使PHP方面的工作量减少一些……
select UNIX_TIMESTAMP(timsstamp) as unixtime from the_table where id = 1234;
然后,在PHP中,只需使用date()函数即可将其格式化。
echo date('l jS \of F Y h:i:s A', $row->unixtime);
?>
要么
echo date('F j, Y, g:i a', $row->unixtime);
?>
我喜欢这种方法,而不是使用MySQL的DATE_FORMAT函数,因为它允许您重用相同的查询来获取数据,并允许您更改PHP的格式。
有两个不同的查询只是为了更改日期在UI中的显示方式而很烦人。