0

我想在一个循环中编写代码,该循环仅在任何一天下午 5 点之前运行。

什么代码可以做到这一点?

IF (current_time < 5:00pm) {
   // Do stuff
}
4

4 回答 4

6

该解决方案使用了不错的 PHP5DateTime类,并避免了笨重的旧strtotime()函数:

$hoursNow = new DateTime()->format('H');
if($hoursNow < 17) {
    ....
}
于 2012-07-29T21:43:47.490 回答
4

完成工作的简单方法:

if (date('H') < 17)
{
    // DO SOMETHING
}

请记住,此日期来自服务器。因此,如果客户端位于另一个时区,则可能无法按要求工作。这样做的好处是,用户不能更改他的计算机日期来欺骗网站。

如果您想使用 javascript(其中值将来自用户的计算机)来执行此操作,只需执行以下操作:

var today = new Date();
if (today.getHours() < 17)
{
    // DO SOMETHING
}
于 2012-07-30T00:43:46.833 回答
3
if(time() < strtotime('today 05:00 pm')) {
   // Do stuff
}
于 2012-07-29T21:38:37.917 回答
0

简而言之...

$t = time(); # or any other timestamp
if (date('H', $t) < 17) {
  // Do stuff
  }

适用于任何一天

注意:确保您的时区正确(检查 php 配置或在调用date函数之前只使用date_default_timezone_set函数)

于 2012-07-29T21:48:45.277 回答