在特定时间之间运行代码

时间:2018-04-22 17:49:05

标签: php datetime-format

我有PHP代码,假设在凌晨04:00到凌晨05:00之间运行,但它没有运行,我看不出这个问题?

  $begin = new DateTime('04:30');
    $end = new DateTime('05:00');

    while (!connection_aborted() || PHP_SAPI == "cli") {
        $now = new DateTime();

    if(date("Hi") <= $begin && date("Hi") >= $end){
    //run code
    }

}

1 个答案:

答案 0 :(得分:0)

你的问题在于:

if(date("Hi") <= $begin && date("Hi") >= $end){

你正在努力做的事情超过&#34;和&#34;小于&#34;比较字符串。你应该使用整数值(纪元时间),然后你可以这样做。

if(time() >= strtotime('14:00') && time() <= strtotime('15:00')) {
    echo 'In Range2';   
} else {
    echo 'out of range2';
}

注意:这是在下午2:00到下午3:00之间,只是为了表明它有效(目前是我所在的下午2:00)。

演示:https://3v4l.org/NhnfM