我有一个脚本可以计算事件开始之前的时间
从数据库中检索开始日期和开始时间。
我的问题
天数计算正确但 小时 对于每个事件都是相同的,并且无法正确计算
while(){
$gameDate = $row['event_date'];
$time=$row['event_time'];
$calcDate = $gameDate.$time;
$calcDate = strtotime(str_replace('/', '-', $gameDate));
$remaining = $calcDate - time();
$days_remaining = floor($remaining / 86400);
$hours_remaining = floor(($remaining % 86400) / 3600);
}
活动表
再次注意第一张图片中两个事件的小时数如何显示为13,即使数据库中两个事件的时间不同
知道我在这里做错了什么或者我如何改进脚本?
答案 0 :(得分:2)
此行中有错误:
$calcDate = strtotime(str_replace('/', '-', $gameDate));
将$gameDate
替换为$calcDate
,其中包含您之前创建的一行的完整日期+时间字符串:
$calcDate = strtotime(str_replace('/', '-', $calcDate));
或者只是这样:
$data = array(
array('event_date' => '2015-07-13', 'event_time' => '15:00'),
array('event_date' => '2015-07-11', 'event_time' => '20:00')
);
foreach ($data as $row) {
$calcDate = strtotime(str_replace('/', '-', $row['event_date'].$row['event_time']));
$remaining = $calcDate - time();
$days_remaining = floor($remaining / 86400);
$hours_remaining = floor(($remaining % 86400) / 3600);
echo $days_remaining." ".$hours_remaining."\n";
}
工作代码:http://sandbox.onlinephpfunctions.com/code/128a284a176098ede0dfc7bc18cfc5f7081d2afa
所以你要避免混淆不同的变量。 ; - )