我有以下代码。我需要在两次之间平均分配值:现在+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));