1

一段时间以来,我一直在用这个来敲打我的头。有人知道我如何检查是否$theDate在从现在开始的 24 小时范围内。

这是我想出的代码,但它似乎不起作用:(

if (time() <= ($theDate + 86400)) {
    // current time is 86400 (seconds in 24 hours) or less than stored time
}

注意:$theDate是unix时间戳。

任何帮助,将不胜感激。

谢谢 :)

4

2 回答 2

8

你有它倒退:

if ($theDate <= (time() + 86400)) {
    // current time is 86400 (seconds in 24 hours) or less than stored time
}
于 2013-09-30T15:31:37.227 回答
1

您是否总是希望范围为 24 小时?请记住,有时一天中有 23 或 25 小时从/到 DST。

考虑到这一点的方法是:-

$tomorrow = (new \DateTime())->add(new \DateInterval('P1D'));
if((new \DateTime())->setTimestamp($theDate) < $tomorrow){
    //Do something
}

有关这些非常有用的类的更多信息,请参阅DateTime 手册

于 2013-09-30T15:53:46.520 回答