-4

次の構文があります。

194時間45分

$time[0] = 194.45;

45時間12分

$time[1] = 45.12;

したがって、次のような解決策なしで $time[0] と $time[1] の差分を取得する方法

xxx hours and >60 minutes (xx.>60)
4

3 に答える 3

1

.45storeに使用する意味はほとんどありません45 minutes。1 つは時間用、もう 1 つは分用の 2 つの変数を使用しないのはなぜですか?

そして、なぜ条件文の使用が制限されているのでしょうか? 次のような醜いコードになってしまいます。

 $time[0] - $time[1] - 
 0.40 * ( floor($time[0]) - floor($time[1]) - floor($time[0]-$time[1]) )
于 2012-07-30T22:48:25.160 に答える
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
于 2012-07-30T23:08:34.613 に答える
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

于 2012-07-30T23:33:21.763 に答える