创建一个检查日期和时间的函数,并返回打开或关闭的php

时间:2016-06-02 20:20:09

标签: php wordpress function

您好我正在尝试在php中创建一个功能,用于检查当天的当天和营业时间,如果商店处于打开或关闭状态则返回。这是我到目前为止所拥有的,但它总是以封闭的方式回归。

$day = date( 'l' );
function get_biz_hours_openclosed( $hours_openclosed ) {
$day = 'Thursday';
$t = date("H:i a");
$d = date('l');
$dowstart = '9:00 am';
$dowend = '21:00 pm';
$openclosed = ''; //default return string to empty string
echo $hours_openclosed;
    if ( ($day == $d ) && ($dowstart < $t) && ($t < $dowend) ) {
        $openclosed = 'Open!';
    }
    else{ 
        $openclosed = 'Closed'; 
    }
return $openclosed; 
}

echo get_biz_hours_openclosed( $day );
echo "<br>";
echo "current time: " . date("H:i a");

3 个答案:

答案 0 :(得分:1)

if ( ($day == $d )){ 

  if($t == '12:00pm'){
           $openclosed = 'Open!';
        }
  if($t <$dowend ) {
       $openclosed = 'Open!';
   }

  if(($t <'12:00pm') && ($t >='9:00am')){
        $openclosed = 'Open!';
           }

}
else{ 
    $openclosed = 'Closed'; 
}

不确定语法(不熟悉php)

答案 1 :(得分:1)

From a delivery system project I made, I'm sure you can find what you want with this function :

function is_between_hours($h1 = array(), $h2 = array()){
    $est_hour = date('H');
    $h1 = ($h1[1] == 'am') ? $h1[0] : $h1[0]+12;
    $h1 = ($h1 === 24) ? 12 : $h1;
    $h2 = ($h2[1] == 'am') ? $h2[0] : $h2[0]+12;
    $h2 = ($h2 === 24) ? 12 : $h2;        
    echo "Current time:";
    echo $est_hour;
    echo "Opening time:";
    echo $h1;
    echo "Close time:";
    echo $h2;
    if ( $est_hour >= $h1 && $est_hour < $h2 ) {
        echo "store open";}
        else {
            echo "store close";}}

答案 2 :(得分:0)

我想通了

$day = date( 'l' );

function get_biz_hours_openclosed( $hours_openclosed ) {

$day = 'Friday'; // testing day of the week to see if it compares correctly
$d = date('l'); // current day 
$dowstart = '9:00 am'; // testing with an example open hour
$dowend = '9:00 pm'; // testing with an example close hour
$openclosed = ''; // default return string to empty string
echo $hours_openclosed;

if ( $day == $d && time() > strtotime($dowstart) && time() < strtotime($dowend) ) {
    $openclosed = "Open!";
} else { 
    $openclosed = "Closed"; 
}

return "<span>&nbsp;</span>" . $openclosed; 

}

echo get_biz_hours_openclosed( $day );
echo "<br>";
echo "current time: " . date("g:i a");