4

因此,可以将时间与<>等进行比较,但是当与 一起使用时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(因为忽略日期,时间更短)。最简单的方法是什么?(最好不要拆分字符串)

4

3 回答 3

4

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;

演示:http ://codepad.org/uG4bsxTH

于 2012-09-23T17:11:29.717 回答
1

您可以取每个 Unix 时间戳相对于 86400(一天中的秒数)的模数。

http://php.net/manual/en/language.operators.arithmetic.php

于 2012-09-23T17:06:02.773 回答
0

你可以这样做:

print strtotime("19:00:00") > strtotime(explode(' ',$reference_time)[1]);
print strtotime("16:00:00") > strtotime(explode(' ',$reference_time)[1]);

您需要PHP 5.4作为上述代码的最低要求。

于 2012-09-23T17:08:47.013 回答