gpt4 book ai didi

php - 比较php中的两个时间戳

转载 作者:可可西里 更新时间:2023-10-31 22:51:49 35 4
gpt4 key购买 nike

所以场景是,我有一家商店,晚上 1:00 开门,晚上 10:00 关门。对于任何当前时间,我只想检查该时间戳是否位于商店开门时间和关门时间之间。

是的,这很简单,但我仍然不知道为什么,我觉得很难。下面是我正在尝试的一段史诗般的狗屎。

<?php

$t=time(); //for current time
$o = date("Y-m-d ",$t)."01:00:00"; //store open at this time
$c = date("Y-m-d ",$t)."22:00:00"; //store closes at this time

//Yes, its crazy .. but I love echoing variables
echo "current time = ".$t;
echo PHP_EOL;
echo "Start = ".strtotime($o);
echo PHP_EOL;
echo "End = ".strtotime($c);
echo PHP_EOL;

// below condition runs well, $t is always greater than $o
if($t>$o){
echo "Open_c1";
}else{
echo "Close_c1";
}

//Here's where my variable $t, behaves like a little terrorist and proclaims itself greater than $c
if($t<$c){
echo "Open_c2";
}else{
echo "Close_c2";
}
?>

输出:在 phpfiddle 上

当前时间 = 1472765602 开始 = 1472706000 结束 = 1472781600 Open_c1 Close_c2

只有一个帮助,为什么 ( $t < $c ) 条件为假。我是否遗漏了一些很常见的东西或犯了严重的错误。

谢谢。

最佳答案

那是因为$o$c是string而$t是time();您需要将您的 ifs 更改为

 if ($t < strtotime($c))

 if ($t > strtotime($o))

让它正常工作。

关于php - 比较php中的两个时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281279/

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