PHP:将日期时间转换为时间字符串的最佳方法?

问题描述:

我有一个日期时间,我从看起来像这样的数据库中抽取:2000-01-01 08:00:00PHP:将日期时间转换为时间字符串的最佳方法?

现在我需要将其转换所以一切我所剩下的就是:08:00:00

什么是做到这一点的最好方法是什么?

+2

最简单的方法是做一个'TIME(列)`拉动时,来自数据库。 – 2010-12-03 19:15:24

我应该想到这早些时候......最简单的方法是使用MySQL的TIME()功能,只选择在首位的时间。

substr('2000-01-01 08:00:00', 11); 
+0

+1:如果结果始终为DATETIME格式,这是最安全的方式。真正的日期分析总是带有时间戳功能干扰的风险(这是我们期望的,但不是在这里) – 2010-12-03 19:19:03

你可以使用

substr($timestamp, -8); 
+0

左侧或右侧都支持 – ajreal 2010-12-03 19:20:58

+0

我在同一时间键入我的答案,如果我看到你的,我不会提交:-p ..但是,要么工作得很好。 – Jack 2010-12-03 19:25:31

您还可以使用php strtotime函数将其转换为日期时间对象,然后使用格式化方法获得相当的表示形式,无论您想要什么。这样,你可以把AM/PM,做到24小时模式或12小时后,做任何你想要的日期,等

$date = strtotime('2000-01-01 08:00:00'); 
echo $date->format('H:i:s');