我有以下代码。我需要在两次之间平均分配价值:现在+ 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中也是如此。如果您需要更多信息,请告诉我们!
答案 0 :(得分: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));