2016-08-29 41 views
0

是否可以每30秒检查当前日期时间和未来日期时间,直到差异变为0(当前日期时间等于未来日期时间),精度为一分钟使用PHP? 我的代码是不连续,每30秒:PHP如何检查当前日期时间和未来日期时间,直到差异变为0

<?php 
    $dt_format = 'Y-m-d H:i'; 

    $new_row = "<br>"; 

    $dt_now = new DateTime(); 
    $date1 = DateTime::createFromFormat($dt_format, '2016-09-01 14:00'); 
    $date2 = DateTime::createFromFormat($dt_format, '2016-09-01 14:15'); 

    print("Today is " . $dt_now->format($dt_format) . $new_row); 

    $diff1 = $dt_now->diff($date1); 
    print ($diff1->format('%y years %m months %d days %h hours %i minutes') . $new_row); 

    $diff2 = $dt_now->diff($date2); 
    print ($diff2->format('%y years %m months %d days %h hours %i minutes') . $new_row); 
?> 
+1

嗯什么?我相信这会造成一个悖论。 – cmorrissey

+1

@cmorrissey大斯科特! –

+0

我相信他们问的是他们可以在变量中设置未来的日期/时间,并且每30秒(cron或类似的)检查php以查看当前时间是否等于该变量的日期/时间。可能触发某种行动。 –

回答

-1

你想阻止页面加载到时候比赛?如果目标时间过长,这将导致服务器资源耗尽。

PHP是单线程的,所以你不能在后台做这个检查。

最好为用户写出一个持有页面,该页面每30秒尝试刷新一次。

如果到达的时间,展示的内容,否则显示的网页与此内容:

<p>Please wait until (put target time)</p> 
<script> 
    setTimeout(function() { 
      window.location.reload(); 
    }, 30000); 
</script>