我想从mysql数据库获取格式化日期,例如2013年3月21日上午11:21
答案 0 :(得分:4)
您可以使用MySQL的内置函数DATE_FORMAT()
SELECT DATE_FORMAT(NOW(), '%D %M %Y %h:%i%p')
输出
╔═════════════════════════╗
║ FORMATTED_DATE ║
╠═════════════════════════╣
║ 22nd March 2013 06:07AM ║
╚═════════════════════════╝
答案 1 :(得分:1)
您可以使用DATE_FORMAT
MySQL功能。
示例强>
DATE_FORMAT(NOW(),'DATEFORMATE') // DATEFORMATE can be %b %d %Y %h:%i %p
或强>
STR_TO_DATE('$date', 'DATEFORMATE')
如何在查询中使用
SELECT STR_TO_DATE('YOUR DATE FIELD','DATEFORMAT') FROM table;
SELECT DATE_FORMAT(NOW(),'DATEFORMAT') FROM table;
的 DATEFORMATE Options
强> 的
答案 2 :(得分:1)
答案 3 :(得分:1)
答案 4 :(得分:0)
您的数据库列的格式是什么?如果它是UNIX时间戳,只需将其输入date
即可。如果它是一个日期列(格式为' YYYY-MM-DD'或' YYYY-MM-DD HH:MM:SS'),请将其输入{{1}然后进入strtotime
。
所以,假设它是一个日期列,你想要做这样的事情:
date
有关如何使用$column_value = "2013-03-01 00:00:00"; // Get this from your database however you like
$formatted_date = date("jS F Y H:i A", strtotime($column_value));
进行格式化的文档位于the PHP documentation.
答案 5 :(得分:0)
试试这个:
$date = date from databse // some thing like 2013-03-22 11:38:00
$dt = new DateTime($date);
echo $dt->format('jS F Y g:ia');
输出:22nd March 2013 11:38am