Php 检查当前时间是否在指定时间之间

Php 检查当前时间是否在指定时间之间,php,Php,在我的数据库中有开始时间和结束时间的24小时格式。我写了一个函数来显示依赖于时间的结果 $day_start=06:00; $day_end=22:59; $night_start=23:00; $night_end=05:59; $dtarif=30USD; $ntarif=80USD; function showtarif($day_start,$day_end,$night_start,$night_end,$dtarif,$ntarif) { $current=date("H:

在我的数据库中有开始时间和结束时间的24小时格式。我写了一个函数来显示依赖于时间的结果

$day_start=06:00;
$day_end=22:59;

$night_start=23:00;
$night_end=05:59;

$dtarif=30USD;
$ntarif=80USD;

function showtarif($day_start,$day_end,$night_start,$night_end,$dtarif,$ntarif)
{


$current=date("H:i");

    if ($current =>$day_start && $current <=$day_end) {

    $absulate_tarif=$dtarif;

    }
    else if ($current >=$night_start && $current <=$night_end) {
       $absulate_tarif=$ntarif;
    }

 return $absulate_tarif;
}
$day\u start=06:00;
$day_end=22:59;
$night_start=23:00;
$night_end=05:59;
$dtarif=30美元;
$ntarif=80美元;
函数showtarif($day\u start、$day\u end、$night\u start、$night\u end、$dtarif、$ntarif)
{
$当前=日期(“H:i”);

如果($current=>$day\u start&&$current=$night\u start&&$current您必须记住两件事:


  • 比较运算符
    =
    =0&&strcmp($current,“22:59”)将您的时间和金额括在引号中

    $day_start="06:00";
    $day_end="22:59";
    
    $night_start="23:00";
    $night_end="05:59";
    
    $dtarif="30USD";
    $ntarif="80USD";
    

    尝试将strottime()包装起来。因此$day_start=strottime('06:00');等等。您正在比较字符串,而不是您想要的时间。您需要比较时间,可以是秒差,也可以是其他方式。@va5ja所说的+字符串需要引号,否则它们将成为整数:使用
    $ntarif=“80USD”
    否则$ntarif只会变成80。当我调用这个函数时,值来自参数,然后我的时间转换为06:00到4321
    $day_start="06:00";
    $day_end="22:59";
    
    $night_start="23:00";
    $night_end="05:59";
    
    $dtarif="30USD";
    $ntarif="80USD";