2017-05-18 31 views
2

這裏比較的時間,我正在使用笨,比較的時間無法正常在PHP

$present_time = date("h:i a"); 
$this->db->where('status!=', 'closed '); 
$this->db->where('one_hour_break!=', ' '); 
$this->db->where("(one_hour_break ='$present_time' or one_hour_break < '$present_time')"); 
$query = $this->db->get('student'); 
$final_time = $query->result(); 

if($final_time) 
    { 
     echo "true"; 
    } 
else 
    { 
     echo "false"; 
    } 

據比較,如果正確地是1到12之間。但是它沒有比較時間的時間查詢在給定的時間之間的正常是中午12點到下午1點到上午12點和下午1點之間

如:

所以如果存在時間:下午12:30和one_hour_break:下午1:30,再一個小時的休息時間應大於比目前的時間,和結果它應該說是錯誤的,但它說的是真的。與到下午1點

中午12點之間的時間也是一樣誰能告訴如何處理這個問題

+2

也許你可以用「H」代替?那是24小時制嗎? – Andreas

+1

@Andreas那裏還有問題b/w 24和1 – user3732711

+0

你需要時間轉換時間戳,然後你可以比較時間。 –

回答

3

有幾種方法來解決這個問題,最好的辦法是要回去和時間存儲在數據庫與「Ymd H:我」或類似的東西。
通過這種方式,您可以獲得固定的時間戳,而不僅僅是您開發時大部分時間無用的時間。

然後,您使用strtotime()http://php.net/manual/en/function.strtotime.php將字符串格式的日期轉換爲可輕鬆比較的數值。