3

我有以下代码。我需要在两次之间平均分配值:现在 + 20 分钟到 15:30。以下代码是循环的一部分,为了简洁起见,我没有包括在内。

$numlines = count($data);

$calltime = date('U', strtotime('+20 minutes');

$to = date('U', strtotime('15:30'));
$from = $calltime;

$diffinsec = $to - $from;

$apptseparation = ceil($diffinsec / $numlines);

$calltime = date('H:i', strtotime('+' . $apptseparation . ' seconds', $calltime);

我在这里要做的是将当前时间加上 20 分钟,将其转换为 Unix 纪元,并在同一天从 15:30 减去它。结果应该是两次之间的秒数。

然后我想将秒数除以输入文件中的总行数,得到每个值之间的总秒数。最后,我想将此数字添加到现有的 $calltime 变量中,以便循环的每次迭代都会添加新时间。

但是,我所拥有的不起作用。日期数学总是让我感到困惑,在 PHP 中更是如此。如果您需要更多信息,请告诉我!

4

1 回答 1

0

那么,你得到的结果和你期望的结果是什么?如果我很好理解,这段代码似乎可以工作:

    $calltime = strtotime('+20 minutes');
    $from = $calltime;
    $to = strtotime('15:30');

    $diffinsec = $to - $from;
    if ( $diffinsec < 0 ) { // If it is 18:04 per example
        $diffinsec *= -1;
    }
    $apptseparation = ceil($diffinsec / $numlines);

    $calltime = date('H:i', strtotime('+'.$apptseparation.' seconds', $calltime));
于 2012-12-11T17:09:59.403 回答