我存储在MySQL表日期,它们被设置为存储在每行CURRENT TIMESTAMP和存储如下:将mysql时间戳转换成实际的日期和时间?
2010-05-29 01:17:35
但我所试图做的就是以某种方式使用PHP能够单独的一切,并创建一个日期更像:
2010年5月29日上午01点17
谁能至少引导我,我应该走正道。任何帮助是极大的赞赏!
我存储在MySQL表日期,它们被设置为存储在每行CURRENT TIMESTAMP和存储如下:将mysql时间戳转换成实际的日期和时间?
2010-05-29 01:17:35
但我所试图做的就是以某种方式使用PHP能够单独的一切,并创建一个日期更像:
2010年5月29日上午01点17
谁能至少引导我,我应该走正道。任何帮助是极大的赞赏!
echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));
有两种解决方法:
strtotime()
解析日期时间戳和date()
重新格式化为一个字符串DateTime
在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 Timestamps,这意味着有限的日期范围(从1970年到2038年,如果使用32位整数)。
另一方面,使用DateTime
类,可以使用的日期范围没有限制。
如果你在你的表有DATETIME
场,你只需要日期字段,则:
SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;
或:
SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;
其中timestamp
是你的列名。
太棒了!非常感谢!那太简单了!再次感谢! – mcbeav 2011-04-05 04:41:58
请务必在化合物格式页面的PHP手册中查看* Localized Notations * http://php.net/manual/en/datetime.formats.compound.php – 2016-04-25 23:41:13