PHP如何检查当前DateTime和将来的DateTime,直到差异变为0

时间:2016-08-29 18:23:16

标签: php datetime

是否可以每隔30秒检查当前的DateTime和future DateTime,直到差异变为0(当前DateTime等于未来的DateTime),使用PHP精确度为一分钟? 我的代码并不是每隔30秒就会持续一次:

<?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 个答案:

答案 0 :(得分:-1)

你想阻止页面加载到时间匹配?如果目标时间太长,这将导致服务器上的资源耗尽。

PHP是单线程的,因此您无法在后台进行此检查。

最好为用户写出一个保留页面,尝试每30秒重新加载一次。

如果时间已到,请显示内容,否则显示包含此内容的页面:

public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint) {
    return new SizeRequest(Size.Zero, Size.Zero);
}