在hours.minutes和hours.minutes之间的差异

时间:2012-07-30 22:33:59

标签: php math

我有以下语法:

194小时45分钟

$time[0] = 194.45;

45小时12分钟

$time[1] = 45.12;

所以如果没有类似

的解决方案,如何在$ time [0]和$ time [1]之间获得差异
xxx hours and >60 minutes (xx.>60)

3 个答案:

答案 0 :(得分:1)

使用.45存储45 minutes毫无意义。为什么不使用2个变量,一个用于小时,一个用于几分钟?

为什么限制使用条件?你会得到像这样丑陋的代码:

 $time[0] - $time[1] - 
 0.40 * ( floor($time[0]) - floor($time[1]) - floor($time[0]-$time[1]) )

答案 1 :(得分: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);

outputs

array(2) { [0]=> float(0.45) [1]=> float(0.12) } // <-- Mins
array(2) { [0]=> float(194) [1]=> float(45) }    // <-- Hours
float(149.33)                                    // <-- Difference

答案 2 :(得分:0)

$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

结尾