神馬系PHP時間比較呢?
最簡單的例子就是可以把兩個時間用大於小於號進行兩個時間的對比。有時候我們設計程序,需要控制用戶操作某個功能時只能在某個時間段內可以操作,其余時間段不允許。
比如,我有一個發布消息的網站,我這個網站上發布消息,然後我在通過這個消息群發給上千用戶。按照普通做法,應該就是一旦發布消息,就立即把消息群發給上千用戶。這樣一來,只要一有最新消息,用戶就第一時間收到手機短信。可是,問題來了。比如我要是在深夜凌晨發布信息,那可就遭到所有用戶XXOO了。
所以,這裡可以用到時間比較,要是在白天時間就可以發布,晚上則阻止。我們假設白天時間段從早上七點(七點估計好多人都沒睡醒)到下午六點,那麼我們可以這麼下。
復制代碼 代碼如下:
/**
* PHP時間比較
*/
// 定義開始時間,注意時間是字符串格式,所以必須用引號引起來否則報錯別找我,另外裡邊的冒號必須是英文冒號
$start_time = '7:00';
// 定義結束時間,千萬別問我下午六點為何寫成十八點,我會建議你重讀小學
$end_time = '18:00';
// 獲取現在時間段,date()函數的使用我就不廢話了,不明白的直接看以往文章或者google
$now_time = date('H:i');
// 判斷
if( $start_time<=$now_time && $end_time>=$now_time ){
echo '我要發布信息啦!';
}else{
echo '大哥,現在才幾點啊~~~人家都還沒睡醒呢!!!';
}
這裡需要提醒下,獲取的現在的時間是服務器時間,所以請注意服務器時間的時區設置以及是否准時,或者可以來個計劃任務讓它每天校對就萬事OK了
如果你想表示在$time1與$time3之間簽到算出勤的話,可以這樣寫
if($time2>$time1 && $time2<$time3){
echo "出勤";
}
else{
echo "缺勤";
}
當然也可以寫成
if(strtotime($time2)>strtotime($time1) && strtotime($time2)<strtotime($time3)){
echo "出勤";
}
else{
echo "缺勤";
}
時間可以那樣比較,不過你的條件寫錯了,應該是&&吧?
if($time2>$time1 && $time2<$time3){
......