gpt4 book ai didi

php - 如果是商店,如何检查当前时间是开门时间和关门时间之间的时间

转载 作者:行者123 更新时间:2023-11-29 21:29:36 31 4
gpt4 key购买 nike

我想找到逻辑,如果当前时间在这个时间范围内,那么我的商店是开放的,否则它是关闭的我能够找出解决方案,但当我考虑 session 记录时,逻辑不正确只有小时逻辑是

$time= "11:00 22:30"; //time interval
$var=explode(" ",$time);
$currenttime=date("22:00"); // currenttime
$opentime =$var[0];
$closetime=$var[1];

if($opentime - $currenttime < 0 && $currenttime - $closetime < 0 )
{
echo "open";
}
else
{
echo "close";
}

当我将当前时间作为 10 ,24 , 9 时,此代码工作正常,但当我认为 22.30 或 11.30 没有给出正确的结果时,请建议我正确的解决方案..提前感谢

最佳答案

我建议使用 Unix 时间戳。下面的 scetch 应该为您指明正确的方向。

$unixStart = mktime(11, 0, 0, date('n'), date('j'));
$unixEnd = mktime(22, 30, 0, date('n'), date('j'));

$unixNow = time();
if (($unixNow >= $unixStart) && ($unixNow <= $unixEnd))
{
echo "open";
}
else
{
echo "closed";
}

请确保您调用“date_default_timezone_set”和/或使用 DateTime/DateTimeZone 类来获取正确的时区。
下面的示例使用“美国/芝加哥”,请设置您所需的时区

$objDTZ = timezone_open("America/Chicago");
$objDate = new DateTime('now');
$unixNow=time();
$objDate->setTimestamp($unixNow);
$objDate->setTimezone($objDTZ);

然后

$unixStart = mktime(11,0,0,$objDate->format('n'),$objDate->format('j'));
$unixEnd = mktime(22,30,0,$objDate->format('n'),$objDate->format('j'));

谢谢,
汤姆

关于php - 如果是商店,如何检查当前时间是开门时间和关门时间之间的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35361066/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com