-3

重複の可能性:
2 つの日付間の時間差 (分
) php date_diff (時間)

私は持っている:

$datetime1 = new DateTime('2012-12-01 10:40:00');
$datetime2 = new DateTime('2012-12-03 12:00:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%1 day %h hours %i minutes');

これは問題なく動作しますが、時間と分だけを表示するにはどうすればよいですか? この例では、次のようになります。

49時間10分

4

1 に答える 1

1

PHPマニュアルから:

ノート:

DateInterval::format() メソッドは、時間文字列や日付セグメントの繰り越しポイントを再計算しません。これは、「1 か月と 4 日」から「1 か月と 1 日」と解釈できる「32 日」のような値をオーバーフローできないためです。

言い換えれば、DateIntervalクラスはあなたが求めていることを単独で行うわけではありません。自分で計算する必要があります。

このような何かがそれを行う必要があります:

$hours = $interval->h + ($interval->d*24);
print "{$hours} hours ".$interval->format('%i minutes');
于 2012-11-30T14:42:31.690 に答える