将mysql时间戳转换为实际的日期和时间?

时间:2011-04-05 04:36:21

标签: php mysql date timestamp

我将日期存储在mysql表中,它们被设置为在每一行中存储为CURRENT TIMESTAMP并存储如下:

2010-05-29 01:17:35

但我想要做的是以某种方式使用PHP来分离所有内容并创建更像的日期:

2010年5月29日上午1:17

任何人都可以至少指引我走正确的道路。非常感谢任何帮助!

3 个答案:

答案 0 :(得分:59)

echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));

http://php.net/manual/en/function.date.php

答案 1 :(得分:23)

您有两种解决方案:


在PHP代码中,这意味着使用:

echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));

或者:

$dt = new DateTime('2010-05-29 01:17:35');
echo $dt->format('M j Y g:i A');


strtotime + date是您最常用的解决方案;但它不是最好的解决方案:有了这些,你将使用UNIX时间戳,这意味着有限的日期范围(从1970年到2038年,如果使用32位整数)

另一方面,使用DateTime课程,您可以使用的日期范围没有限制。

答案 2 :(得分:3)

如果您的表格中有DATETIME字段,而您只想要日期字段,那么:

SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;

或:

SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;

其中timestamp是您的列名。