我想获得Time in和Time out然后获得渲染的小时,分钟和秒,但我在这里减去时间的问题是样本结果
时间:10:00:33 超时:10:01:30
呈现的总小时数:0 呈现的总分钟数:1 渲染的总秒数:-3
在上面的示例中它已经返回1分钟,即使它还没有1分钟,并且在秒内它返回负值
这是我的代码
$time_out = date("H:i:s");
$nerd->time_out = $time_out;
$time_o = explode(":", $time_out);
$time = explode(":", $nerd->time_in);
$hours = $time_o[0] - $time[0];
$minutes = $time_o[1] - $time[1];
$seconds = $time_o[2] - $time[2];
if($minutes < 2){
$minutes_r = 0;
}else if($minutes <= 15){
$minutes_r = 15;
}else if($minutes <= 30){
$minutes_r = 30;
}else if($minutes <= 45){
$minutes_r = 45;
}else{
$minutes_r = 0;
}
在我的代码中,我会花时间来获取小时,分钟和秒的值。
任何人都可以提出更好的方法,这样就不会有负面结果吗?
答案 0 :(得分:1)
在中间添加:
if($seconds < 0) {
$seconds += 60;
$minutes--;
}
if($minutes < 0) {
$minutes += 60;
$hours--;
}