我试图仅在一天中的特定时间运行某批代码。我只想在上午 8:00 和晚上 10:00 之前运行此代码。
这段代码包含在我网站的页脚中,但它似乎没有工作,它仍然在这些小时内运行代码。(我的服务器和我在同一个时区):
if(date("Hi") < 2200 && date("Hi") > 0800){
// Run Code
}
如何仅在特定时间之间运行代码?
我试图仅在一天中的特定时间运行某批代码。我只想在上午 8:00 和晚上 10:00 之前运行此代码。
这段代码包含在我网站的页脚中,但它似乎没有工作,它仍然在这些小时内运行代码。(我的服务器和我在同一个时区):
if(date("Hi") < 2200 && date("Hi") > 0800){
// Run Code
}
如何仅在特定时间之间运行代码?
if(date("Hi") < 2200 && date("Hi") > 800){
// Run Code
}
尝试使用 strtotime 函数和相关格式:
if ( time() > strtotime( '08:00AM' ) && time() < strtotime( '10:00PM' ) ) {
// run code
}
就像 Ryan 在评论中所说的那样 - 您需要将其设置为 cron 作业。
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
以您尝试的方式设置它的问题是,对您网站的每个请求都会再次引发事件(可能会破坏交易)
只需使用“G”来获取小时数而不用前导 0
$time = date("Gi");
if(800 <= $time && $time <= 2200){
// Run Code
}