因此可以将时间与<
,>
等进行比较,但与strtotime
一起使用时,您会得到unix时间戳,因此您无法比较与时间无关的时间日期。
我想做的是能够表达如下内容:
$reference_time = "2010-01-01 18:00:00";
print strtotime("19:00:00") > strtotime($reference_time);
print strtotime("16:00:00") > strtotime($reference_time);
但我希望第二个表达式返回false
(因为,忽略日期,时间更短)。最简单的方法是什么? (最好不要拆分字符串)
答案 0 :(得分:3)
strtotime
也有第二个参数。尝试:
$reference_time = "2010-01-01 18:00:00";
$absolute = strtotime($reference_time);
print strtotime("19:00:00", $absolute) > $absolute;
print strtotime("16:00:00", $absolute) > $absolute;
答案 1 :(得分:1)
您可以将每个Unix时间戳的模数相对于86400(一天中的秒数)。
答案 2 :(得分:0)
你可以这样做:
print strtotime("19:00:00") > strtotime(explode(' ',$reference_time)[1]);
print strtotime("16:00:00") > strtotime(explode(' ',$reference_time)[1]);
您需要 PHP 5.4 作为上述代码的最低要求。