2016-08-29 68 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>