2012-12-07 106 views
0

好了,所以有使用時間函數的事件列表的數據庫,然後將數據顯示爲:從TIME功能中刪除幾秒鐘?

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

雖然顯示的時間爲11:00:00,如果我想的時間爲11 :00 am。無論如何要把這個時間顯示爲標準的「11:00」?並且如果在mysql數據庫中輸入它作爲軍事時間(例如13:00)以使其顯示爲下午1點?

我已經嘗試了很多東西。請幫忙。

http://pastebin.com/kaTZzGrx

+0

你的問題太模糊了。請更具體添加的代碼量可能使我們能理解您的具體問題。 –

+0

對不起,只是有時很難用言語表達我的問題。我猜,下次我會上傳代碼 –

+0

增加的代碼:http://pastebin.com/kaTZzGrx –

回答

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'); 
+0

但是如何讓它顯示am/pm基於軍事時間? –

+0

使用此日期('h:我a',strtotime($ time_start)); ''參數'a'用於顯示'am/pm' –

+0

謝謝,這與am/pm一起工作,但是毫時間停留在下午13:00,而不是下午1:00。 :/ –

1

嘗試使用date()strtotime()功能。

您可以如下使用它。

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

但是如何在上午09:00之前刪除0還是什麼? –

+0

這不會在'9:00'之前放置'0'。看看'日期'功能。 –

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

+0

但我不認爲這會影響來自我的數據庫的時間?因爲它$ time_start和$ time_end?也許看看pastebin? http://pastebin.com/kaTZzGrx –

+0

數據庫中的'date_start'和'date_end'的數據類型是什麼?無論它們是什麼,它們都應該被PHP解析爲字符串。所以只要你返回的格式與你的DateTime構造函數中的格式相匹配,你就會全部設置好。 –

+0

它們是TIME的函數。我在軍事時代進入了時代。 –

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;"); 
0

爲了去除秒,你可以使用MySQL或PHP方法:

MYSQL:

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

PHP:

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

都將只保留小時和分鐘