您好我正在尝试在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");
答案 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> </span>" . $openclosed;
}
echo get_biz_hours_openclosed( $day );
echo "<br>";
echo "current time: " . date("g:i a");