非开放/关闭时间php


Outside of open/close hours 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';
}

这是我在几个小时内使用的东西,需要两个小时以外的东西。

您只需更改条件:

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

不要忘记将AND语句也更改为OR

当你没有打开。。。你已经关门了。因此,只需使用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:00关门,则应使用>=和<=操作员。

PS-为了更好的可读性,我随意重命名了变量。