是否有任何PHP函数来格式化时间(不是日期)?

I have a mysql table field set as time type which stores data in the HH:mm:ss format. So when I list the data, it prints as, for example, 16:30:00. But I want to display hh:mm part only (not the seconds).

In case of datetime types, I can do date('H:i', '2010-03-16 16:30:00'). I mean I can retrieve any part. I wonder if there is any similar way like this for time only fields??

Please see, I can manipulate the time string to get rid of seconds in time part using str_replace, explode etc, I just wonder if there is any standard function there which I am not aware of.

If you want to do this with PHP, you'd have to get a timestamp from the time first, e.g.

echo date('H:i', strtotime('16:30:00'));

will output 16:30. Strtotime will assume the time is for the current date then.

You can let MySQL return the data in the format you want using Date_Format()

edit: as fireeyedboy pointed out there's also a TIME_FORMAT() function.

Another approach is:

SELECT UNIX_TIMESTAMP(time_field) AS tstamp FROM table;

Then you can use PHP's date() function to format it.

$time = date('H:i', $tstamp);