我想从mysql数据库中获得php格式的日期,如2013年3月21日11:21AM
可以使用MySQL的内置函数DATE_FORMAT()
SELECT DATE_FORMAT(NOW(), '%D %M %Y %h:%i%p')
- <
- SQLFiddle演示/gh>
- DATE_FORMAT ()
输出
╔═════════════════════════╗
║ FORMATTED_DATE ║
╠═════════════════════════╣
║ 22nd March 2013 06:07AM ║
╚═════════════════════════╝
可以使用DATE_FORMAT
MySQL函数
例子strong>
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
为什么不使用MySQL的DATE_FORMAT?
对于您的示例,将此添加到您的MySQL查询:
DATE_FORMAT(my_date, '%e %M %Y %h:%i %p')
使用DATE_FORMAT()
SELECT * FROM table DATA_FORMAT(NOW(), '%D %M %Y %h:%i%p')
DATE_FORMAT教程
您的数据库列采用什么格式?如果是UNIX时间戳,只需将其输入date
即可。如果是日期列(格式为'YYYY-MM-DD'或'YYYY-MM-DD HH:MM:SS'),将其输入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));
关于如何使用date
进行格式化的文档在PHP文档中
试试这个:
$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
Ref: http://www.php.net/manual/en/datetime.format.php