0

好的,所以有一个数据库,它使用事件列表的时间函数,然后将数据显示为:

    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

4

5 回答 5

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');
于 2012-12-07T04:59:53.967 回答
1

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

您可以按如下方式使用它。

date('h:i a', strtotime($time));
于 2012-12-07T04:57:42.653 回答
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

于 2012-12-07T04:57:54.810 回答
1

要删除秒,您可以使用 MYSQL 或 php 方法:

MYSQL:

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

PHP:

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

两者都只会保留小时和分钟

于 2017-01-12T11:54:30.997 回答
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;");
于 2012-12-07T05:31:56.980 回答