我在数据库中收集时间记录的格式为'09:51:06'(小时,分钟,秒)。
我有一个查询从数据库中检索这些时间,但我只关心小时参考。
如何摆脱字符串的其余部分,只是将小时广告到数组中?所以在上面的例子中,我只想保留'09'。
我已经研究了爆炸和子串,但似乎无法弄明白。
感谢。
答案 0 :(得分:9)
爆炸字符串看起来像这样(您可能希望添加intval()
以便能够将其用作实数):
$hours = array_shift(explode(':', '09:51:06'));
但是你可能正在寻找合适的查询,而不是事后这样做。如果您正在处理时间类型,则可以使用MySQL的date and time functions(在这种情况下为HOUR()
):
SELECT HOUR(`time_column`) AS `hour` FROM `your_table`
答案 1 :(得分:1)
或者来自数据库本身
SELECT TIME_FORMAT(field_name, '%H') as return_hour from table_name
答案 2 :(得分:1)
$time_string='09:51:06'; $your_array[$array_index]=substr($time_string, 0, 2);
答案 3 :(得分:0)
我猜你可以通过字符串操作或时间/日期来做到这一点。任何有价值的日期方式都在SQL方面,PHP有mktime和日期函数,但如果你要构建一个日期,那么你将获得你在寻找中间的时间
字符串
$thisHour = array_shift(explode(':', $timeString)); //this gets hour
$thisHour - substr($timeString, 0, 2); // or this
$hours[] = $thisHour; //this adds to array