PHP检查是否在午夜之后

时间:2013-12-19 00:43:06

标签: php cron unix-timestamp

如何在午夜后检查?例如,我有这段代码

// Run cron job if passed 24 hours (86400 seconds), 
// but only if it's after midnight

if ( (time() - $LastUpdate) >= 86400 && PAST_MIDNIGHT ) {
      do something ...
}

如何填写PAST_MIDNIGHT?我的目的是每天运行一次cron工作,但仅限午夜之后。谢谢。

3 个答案:

答案 0 :(得分:2)

鉴于午夜是当天的第一秒,它永远不会“过夜”。

由于您正在使用cron,因此请将其安排在您需要它运行时运行。

答案 1 :(得分:2)

有点hackish,但这检查当前服务器时间小时(24小时格式)是否小于7.因此,从午夜(0)到上午7:00(7)的任何地方都将通过。其他时间不会。

if ( (time() - $LastUpdate) >= 86400 && (date('G') < 7)) {
  do something ...
}

请参阅http://www.php.net/manual/en/function.date.php以获取可在日期()投射的参数列表。

答案 2 :(得分:0)

如果您使用的是unix系统,则可以使用 cron 服务:

在你的控制台中运行:

crontab -e

然后在最后一行添加以下内容:

@daily /full/path/to/php /full/path/to/your/script.php

这将在午夜每天执行