为每个循环的time添加变量秒数



我正在构建一个队列来生成一些东西,我想让用户看到它需要多长时间才能生成准备好。

所以我有一个生成内容所需的估计时间,但这是一个变量,因为它可以在5-120秒之间的任何地方。现在我需要将变量time添加到当天的时间中并进行循环,因为队列有更多的值。

例如,我需要这样写:

对象1 -估计生成时间:15秒- 09:00:15

对象2 -估计生成时间:20秒- 09:00:35

对象3 -估计生成时间:10秒- 09:00:45

等等…

我已经试过了:

$my_time = date('h:i:s',time());
$seconds2add = $estimated_time;
$new_time= strtotime($my_time);
$new_time+=$seconds2add;
echo date('h:i:s',$new_time);

:

$time = date("m/d/Y h:i:s a", time() + $estimated_time);

它循环,但都给我这样的输出:

对象1 -估计生成时间:15秒- 09:00:15

对象2 -估计生成时间:20秒- 09:00:20

对象3 -估计生成时间:10秒- 09:00:10

那么我怎样才能让它循环运行呢?

编辑:这是我的循环

$this_time = date('h:i:s',time());
$my_time = $this_time;
$num = 1;
foreach($orders as $order) {
    echo '<tr>'
    . '<td>'.($num++).'</td>'
    . '<td>'. $order->url .'</td>'
    . '<td>'. $order->product_desc .'</td>'
    . '<td>'. $order->size .' cm</td>'
    . '<td>'. $order->estimated_time .' sec</td>';
$seconds2add = $order->estimated_time;
$my_time= strtotime($my_time);
$my_time+=$seconds2add;
    echo '<td>'. date('h:i:s',$my_time) . '</td>'
    . '</tr>';        
} 

显示您的循环代码可能会有所帮助,但这里是您应该做的一般想法:

$current_time = time(); // seconds since unix epoch
echo 'Start: ' . date('h:i:s') . PHP_EOL;
while($you_do_stuff == true) {
    // do stuff
    $now = time();
    $time_taken = $now - $current_time;
    echo $time_taken . ' seconds to process: ' . date('h:i:s', $now) . PHP_EOL;
    // set current time to now
    $current_time = $now;
}
echo 'Finished: ' . date('h:i:s');

编辑:这里有一个以秒为单位的随机"估计时间"的例子:

// ... in seconds
$estimated_times = array(
  5,
  20,
  35,
  110
);
$current_time = time(); // seconds since unix epoch
echo 'Start: ' . date('h:i:s') . PHP_EOL;
foreach($estimated_times as $estimated_time) {
    // add estimated time to current time (this increases each loop)
    $current_time += $estimated_time;
    // output estimated time and finish time
    echo 'Estimated time: ' . $estimated_time . ' seconds: ' . date('h:i:s', $current_time) . PHP_EOL;
}

相关内容

  • 没有找到相关文章

最新更新