0

2回減算しようとしています:

$obtime = "2310";
$runtime = "0048";

$run=new DateTime($runtime);
$ob=new DateTime($obtime);
$interval= $run->diff($ob);
$age=$interval->format('%H%I');
print "Age is: $age\n";

上記は 2222 を出力します。これは、22 時間と 22 分の差を意味します。もちろん、時計が進むことはわかっており、0048 は 2310 からわずか 1 時間 38 分後です。

2つの「24時間」時間の時差を見つけるより良い方法はありますか?

4

2 に答える 2

1

どうですか

$obtime = strtotime("2310");
$runtime = strtotime("0048");
echo gmdate("H:i:s", $obtime - $runtime);
于 2013-10-10T02:58:10.010 に答える
0

ありがとうグウィリー。あなたが持っているようには機能しませんでしたが、それは時間変数の順序が原因です。

NEWER 時間から OLDER 時間を減算すると、機能します。

これは 1 時間 38 分を出力します。

$obtime = strtotime("2210");
$runtime = strtotime("2348");
echo gmdate("H:i", $runtime - $obtime);

これは22時間22分を出力しますが:

$obtime = strtotime("2210");
$runtime = strtotime("2348");
echo gmdate("H:i", $obtime - $runtime);

私が使用していた元の方法はそれほど「スマート」ではありませんが、この方法は前進または後退できることを知っておくとよいでしょう。

于 2013-10-10T03:13:17.147 に答える