PHPで時間差を分単位で取得する方法 質問する

PHPで時間差を分単位で取得する方法 質問する

PHP で 2 つの日付と時刻の分差を計算するにはどうすればよいでしょうか?

ベストアンサー1

上記の回答は、PHP の古いバージョン向けです。PHP 5.3 が標準になった現在では、日付計算には DateTime クラスを使用します。例:

$start_date = new DateTime('2007-09-01 04:10:58');
$since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00'));
echo $since_start->days.' days total<br>';
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';

$since_startは日付間隔オブジェクト。days プロパティが使用可能であることに注意してください (DateTime クラスの diff メソッドを使用して DateInterval オブジェクトを生成したため)。

上記のコードは以下を出力します:

合計1837日
5年
0ヶ月
10日
6時間
14分
2秒

合計分数を取得するには:

$minutes = $since_start->days * 24 * 60;
$minutes += $since_start->h * 60;
$minutes += $since_start->i;
echo $minutes.' minutes';

出力は次のようになります:

2645654分

これは、2 つの日付の間に経過した実際の分数です。DateTime クラスは、従来の方法では考慮されない夏時間 (タイムゾーンによって異なります) を考慮します。日付と時刻に関するマニュアルをお読みください。http://www.php.net/manual/en/book.datetime.php

おすすめ記事