Php 仅从包含多个dateTime的字符串中获取时间

Php 仅从包含多个dateTime的字符串中获取时间,php,laravel,date,datetime,Php,Laravel,Date,Datetime,我有一个字符串,它从数据库中获取dateTime作为一个组,所以我得到了如下内容 2017-10-20 05:00:00,2017-10-20 09:00:00,2017-10-20 07:00:00,2017-10-20 13:30:00,2017-10-20 16:00:00,2017-10-20 13:00:00,2017-10-20 06:00:00,2017-10-20 09:30:00,2017-10-20 10:30:00,2017-10-20 15:30:00,2017-10-2

我有一个字符串,它从数据库中获取dateTime作为一个组,所以我得到了如下内容

2017-10-20 05:00:00,2017-10-20 09:00:00,2017-10-20 07:00:00,2017-10-20 13:30:00,2017-10-20 16:00:00,2017-10-20 13:00:00,2017-10-20 06:00:00,2017-10-20 09:30:00,2017-10-20 10:30:00,2017-10-20 15:30:00,2017-10-20 17:00:00 
05:00, 09:00, 07:00, 13:30, 16:00 //and so on
请注意,所有日期都是相同的,即2017-10-20。因为我不需要担心不同的日期。我只想从这个字符串中提取时间,然后像这样漂亮地打印出来

2017-10-20 05:00:00,2017-10-20 09:00:00,2017-10-20 07:00:00,2017-10-20 13:30:00,2017-10-20 16:00:00,2017-10-20 13:00:00,2017-10-20 06:00:00,2017-10-20 09:30:00,2017-10-20 10:30:00,2017-10-20 15:30:00,2017-10-20 17:00:00 
05:00, 09:00, 07:00, 13:30, 16:00 //and so on
我不想要秒,那是不必要的

我尝试使用PHP的strotime函数,但失败了,取而代之的是00:00:00


有什么想法吗?我使用Laravel作为模板引擎

在SQL语句中执行此操作

SELECT TIME_FORMAT(`dateColumn`, '%H:%i') FROM ...
逐步:

$dateTimes = '2017-10-20 05:00:00,2017-10-20 09:00:00,2017-10-20 07:00:00,2017-10-20 13:30:00,2017-10-20 16:00:00,2017-10-20 13:00:00,2017-10-20 06:00:00,2017-10-20 09:30:00,2017-10-20 10:30:00,2017-10-20 15:30:00,2017-10-20 17:00:00';
$dateTimesArray = explode(',', $dateTimes);
$timesArray = [];
foreach($dateTimesArray as $dateTime) {
    $timesArray[] = date('H:i', strtotime($dateTime));
}
$times = join(',', $timesArray);

你是以单个字符串的形式得到这些结果,还是用逗号表示数组元素?我可能会用str_替换'2017-10-20',[YOURSTRING]@kerbholz日期不会硬编码,我将得到不同的日期作为数据库结果。@zuif:好的,从你的问题中我看不清楚。@George我得到的结果是字符串。原因是,我正在使用SELECT GROUP_CONCAT进行查询,这显然给了我这个字符串