从TIME功能中删除秒数?

时间:2012-12-07 04:53:51

标签: php html mysql database

好吧,有一个数据库使用时间函数来处理事件列表,然后将数据显示为:

    echo "<b>Time Frame:";          
    echo "$time_start";  echo "&nbsp;-&nbsp;";    echo "$time_end"; 

如果我希望时间是上午11:00,那么显示时间为11:00:00。反正有没有把这个时间显示为标准的“11:00”?并且如果在mysql数据库中输入它作为军事时间(例如13:00)以使其显示在下午1:00?

我尝试了很多东西。请帮忙。

http://pastebin.com/kaTZzGrx

5 个答案:

答案 0 :(得分:2)

echo date('G:i',strtotime($time_start)); //date('g:i a',strtotime($time_start));
or
$date = date_create($time_start);
echo date_format($date, 'G:i'); // echo date_format($date, 'g:i a');
or
$date = new DateTime($time_start);
echo $date->format('G:i'); // echo $date->format('g:i a');

答案 1 :(得分:1)

尝试使用date()strtotime()函数。

您可以使用以下方式。

date('h:i a', strtotime($time));

答案 2 :(得分:1)

PHP的内置DateTime类将在这里提供帮助:

$time = new \DateTime("1:00:00");
echo $time->format("H:i");

// Output:
// 1:00

此处有更多信息:http://php.net/manual/en/datetime.format.php

您可以在构造函数(创建对象)和format()方法(打印/显示对象)中实际定义自己的格式。有关支持的格式的信息,请访问:http://php.net/manual/en/datetime.createfromformat.php

答案 3 :(得分:0)

将此作为您的查询..

$query = mysql_query("SELECT id,title,date_start,date_end,DATE_FORMAT(date_start, '%l:%i') as time_start, DATE_FORMAT(date_end, '%l:%i') as time_end,location,description,image,hyperlink FROM events3 WHERE date_end >= CURDATE() ORDER BY date_start LIMIT 5;");

答案 4 :(得分:0)

为了删除秒数,您可以使用MYSQL或php方法:

MYSQL:

SELECT SUBSTRING(SEC_TO_TIME(seconds), 1, 5);

PHP:

$cleantime=substr($time,0,5)

两者都只会保持数小时和分钟