仅在特定时间之间运行代码

时间:2013-05-30 15:03:14

标签: php

我正在尝试仅在一天中的某些时段运行某批代码。我想在上午8:00之后和晚上10:00之前运行此代码。

此代码包含在我的网站的页脚中,但它似乎不起作用,它仍然在这几个小时内运行代码。 (我的服务器和我在同一时区):

if(date("Hi") < 2200 && date("Hi") > 0800){
    // Run Code
}

如何仅在特定时间之间运行代码?

4 个答案:

答案 0 :(得分:7)

if(date("Hi") < 2200 && date("Hi") > 800){
    // Run Code
}

答案 1 :(得分:2)

尝试使用strtotime函数和相对格式:

if ( time() > strtotime( '08:00AM' ) && time() < strtotime( '10:00PM' ) ) {
    // run code
}

答案 2 :(得分:1)

像瑞恩在评论中所说的那样 - 你需要将其设置为一项计划工作。

http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

看到你的crons:

crontab -l

编辑crontab

crontab -e

每天早上8点运行的示例cron

00 08 * * * php path/to/script.php

按照您尝试的方式设置它的问题是,您网站的每一个请求都会再次引发事件(可能会破坏交易)

答案 3 :(得分:0)

只需使用“G”即可获得不带领0的小时

$time = date("Gi");
if(800 <= $time && $time <= 2200){
    // Run Code
}