我有以下代码。我需要在两次之间平均分配值:现在+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中更是如此。如果你需要更多的信息,请告诉我!

最佳答案

好吧,你得到的结果和你期望的结果是什么?
如果我很理解的话,这个代码似乎是可行的:

    $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));

08-07 08:55