我有以下语法:
194 小时 45 分钟
$time[0] = 194.45;
45小时12分钟
$time[1] = 45.12;
那么如何在没有解决方案的情况下获得 $time[0] 和 $time[1] 之间的差异
xxx hours and >60 minutes (xx.>60)
.45
用于存储几乎没有意义45 minutes
。为什么不使用 2 个变量,一个代表小时,一个代表分钟?
为什么要限制条件句的使用?你最终会得到这样的丑陋代码:
$time[0] - $time[1] -
0.40 * ( floor($time[0]) - floor($time[1]) - floor($time[0]-$time[1]) )
$mins = array();
$hours = array();
foreach( $time as $k => $v) {
$mins[$k] = round( $v - floor( $v), 2);
$hours[$k] = floor( $v - $mins[$k]);
}
$diff = round( $hours[0] - $hours[1] + ($mins[0] - $mins[1]), 2);
这输出:
array(2) { [0]=> float(0.45) [1]=> float(0.12) } // <-- Mins
array(2) { [0]=> float(194) [1]=> float(45) } // <-- Hours
float(149.33) // <-- Difference
$md = ((int)$time[0]-(int)$time[1])+(5/3*(($time[0]-(int)$time[0])-($time[1]-(int)$time[1])));
$diff = (int)$md.'.'.str_pad((int)(substr(strrchr($md,'.'),1))*3/5,2,0,STR_PAD_RIGHT);
给$time
定的问题定义,$diff
将结束于:149.33