2017-05-09 5 views
0
私は現在、以下のような分で2回の差分を取得していますし、それが正常に動作します...

PHPでSHORTESTの違いを2回取得するにはどうすればよいですか?

$time1 = strtotime($firsttime); 
$time2 = strtotime($secondtime); 
$interval = abs($time2 - $time1); 
$diffinminutes = round($interval/60); 

しかし、例えば言う

...

$firsttime = 02:05 
$secondtime = 20:05 

この計算は1080を返します分(18時間×60分)。

私は、接続されたサークル(つまり時計のようなもの)の時間に基づいて、最も短い違いを得たいと考えています。

上記の例では、02:05から20:05に達して360分(6時間×60分)を返すまで、逆方向に移動します。

つまり、私はそれを見つけるためにどの方向に行くのかにかかわらず、最短の違いを得るために探しています。

これはうまくいけばうまくいきます。

どのようにこれを達成するための洞察力がありがとう、ありがとう!

+0

最初に02:05を14:05に変換してから差し引きます。 –

+0

[PHPで2回の時間差を取得する](http://stackoverflow.com/questions/13928021/getting-time -difference-between-two-times-in-php) –

答えて

1

あなたの結果が12時間以上である場合には、

を(これは、あなたの入力はちょうど倍ではなく、タイムスタンプされている前提としています。)そしてちょうど24からそれを差し引く:

if ($result > 720) { 
    $result = 1440 - $result; 
} 

あなたが変更する場合があります>>=のどちらに該当するかによって、結びつきます。

+0

シンプルだが効果的な、ありがとう! – user3304303

関連する問題