Php MySQL中的日期时间显示
我需要你帮我做时间转换。在我的数据库中,我输入了如下注释的日期:Php MySQL中的日期时间显示,php,mysql,datetime,Php,Mysql,Datetime,我需要你帮我做时间转换。在我的数据库中,我输入了如下注释的日期: Datetime: 2012-05-08 14:44:53 $unix = strtotime($datetime); echo date(F j Y g:iA, $unix); 我怎样才能让它显示接近这个的东西 May 15, 2012 2:44PM 感谢您的时间和耐心。您应该使用MySQLDATE\u FORMAT()函数 参考: 查询示例: SELECT DATE_FORMAT(`date`, '%a %d,
Datetime: 2012-05-08 14:44:53
$unix = strtotime($datetime);
echo date(F j Y g:iA, $unix);
我怎样才能让它显示接近这个的东西
May 15, 2012 2:44PM
感谢您的时间和耐心。您应该使用MySQL
DATE\u FORMAT()
函数
参考:
查询示例:
SELECT DATE_FORMAT(`date`, '%a %d, %Y %l:%s%p') AS `myDate`;
您需要使用
strotime()
转换为Unix时间戳。然后可以使用date()
显示所需的确切格式。大概是这样的:
Datetime: 2012-05-08 14:44:53
$unix = strtotime($datetime);
echo date(F j Y g:iA, $unix);
DATE_FORMAT()是您问题的答案
SELECT DATE_FORMAT(NOW(), '%M %d, %Y %h:%i %p') as FormattedDate;
%M Month name (January..December)
%d Day of the month, numeric (00..31)
%Y Year, numeric, four digits
%h Hour (01..12)
%i Minutes, numeric (00..59)
%p AM or PM
SELECT DATE_FORMAT(NOW(), '%M %d, %Y %h:%i %p') as FormattedDate;
%M Month name (January..December)
%d Day of the month, numeric (00..31)
%Y Year, numeric, four digits
%h Hour (01..12)
%i Minutes, numeric (00..59)
%p AM or PM
我相信最佳实践是将数据检索和数据格式化分开,即不使用SQL语句格式化文本。此外,使用Unix时间戳比使用文本表示容易得多。也许你是对的,但我使用
date\u format()
格式化日期,因为我认为这比在Unix时间戳中转换datetime
然后格式化要快。我通常以datetime
格式存储所有日期,因为它是人类可读的<代码>时间戳不是。可能更快,但仍然不明显。我个人认为,坚持最佳编码实践比忽略不计的性能优势更可取,如果它确实存在的话。