2016-04-01 10 views
0

現在の時間が営業時間外の場合は何かしてください。私は時間が2回の間であれば何かをするコードを見ましたが、時間が時間外であれば何かをする必要があります。オープン/クローズ時間外の場合PHP

$current_time = date("H:i a"); 
$open   = "8:30 am"; 
$close  = "4:00 pm"; 
echo $current_time; 
$date1 = DateTime::createFromFormat('H:i a', $current_time); 
$date2 = DateTime::createFromFormat('H:i a', $open); 
$date3 = DateTime::createFromFormat('H:i a', $close); 
if ($date1 > $date2 && $date1 < $date3) { 
    echo 'here'; 
} 

これは私が数時間以内に使用しているもので、2時間外に何かが必要です。

答えて

2

あなただけの条件を変更することができます。

if ($date1 < $date2 || $date1 > $date3) { 
echo 'outside the hours';} 

あなたが開いていないいるときOR

1

にだけでなく、あなたの、文を変更することを忘れないでください...あなたは閉じています。ですから、else {}を使ってif文を拡張してください。これと同じように:

$current_time = date("H:i a"); 
$openAt  = "8:30 am"; 
$closeAt  = "4:00 pm"; 
$currentTime = DateTime::createFromFormat('H:i a', $current_time); 
$openingTime = DateTime::createFromFormat('H:i a', $openAt); 
$closingTime = DateTime::createFromFormat('H:i a', $closeAt); 

if($currentTime >= $openingTime && $currentTime <= $closingTime){ 
    echo "we're open!"; 
}else{ 
    echo "we're closed!"; 
} 

注 - 8:30で開き、4.00amに近い場合は、> =と< =演算子を使用する必要があります。

PS - わかりやすさのため、変数の名前を変更する自由を取った。

+0

地獄です。 $ date1、$ date2、$ date3はとても読みづらいです... – Random

+0

一週間中開いていますか? ;-) – Werner

関連する問題