プロが教えるわが家の防犯対策術!

PHPを用いた時間の足し算方法についてお教えいただきたくお願いします。

12:30:00 (時間、時刻ではない)+ 12:30:00が25:00:00と表示されるようにしたい。

例えば、日ごとの勉強時間○○時間△△分□□秒を特定の日にち間での総勉強時間を算出しようとして、以下のようにコーディングしました。
なお、下記におけるleave,enterは開始時刻(HH:MM:SS)、終了時刻の文字列をstrtotime関数を用いて時刻変換したものを用いています。

24時間以内であれば、問題なく表示されるのですが、1日(24時間)以上の数値となると日にち分の時間(24、48時間等)が引かれた値が出力されます。dateの書式によるためと思われますが、36:50:30(現在の出力は12:50:30)と単純に足し算の結果を出力させるためにはどのようにコーディングすればよろしいでしょうか?

よろしくお願いいたします。

$sum = 0;
for($i=0; $i<$k; $i++){
$time_diff[$i] = $leave[$i] - $enter[$i];
$sum = $sum + $time_diff[$i];
}
$sum = $sum + strtotime("0:0:0");//localtimeを補正
$sum = date("H:i:s",$sum);
print("累積時間:" .$sum. "<br>");

場合にとっては総時間を秒で求める方法をご教示いただいても結構です(割り算で時間、分、秒として出すこともできますので)。

A 回答 (1件)

そのプログラムでforループを抜けた直後の


$sum
が総秒数になっていると思われます
    • good
    • 0
この回答へのお礼

早急なご返事ありがとうございます。

+ strtotime("0:0:0")を削除するとご指摘のとおりになっています。

これから総時間が計算できます。

ありがとうございました。

お礼日時:2007/06/30 10:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!