【问题标题】:Create a function checking the day and time and return open or closed php创建一个检查日期和时间的函数并返回打开或关闭的php
【发布时间】:2016-10-02 18:04:21
【问题描述】:

您好,我正在尝试在 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");

【问题讨论】:

  • 21:00 pm ?你需要回到你的绘图板并学习如何比较变量,因为你目前正在做的事情还有很长的路要走
  • $dowstart 和 $dowend 将保存在 WP 主题中的一个变量中。所以只是为了测试,我试图用几个小时来打印它们,看看它是否正常工作。
  • 上午 9 点和晚上 9 点可能
  • 我还是个 php 新手,所以任何提示或建议都比告诉我我要走远了……这是我问这个问题的原因之一
  • Riccardo - 我也试过了,并改变了时间输出,所以它以同样的方式输出......仍然说关闭

标签: php wordpress function


【解决方案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)

【讨论】:

  • 它是如何工作的,但不确定如何在我现有的函数中实现它。我试过但它总是说现在打开。感谢您的帮助!
【解决方案2】:

从我做的一个交付系统项目中,我相信你可以通过这个功能找到你想要的:

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";}}

【讨论】:

    【解决方案3】:

    我想通了

    $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");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多