PHPで2つの日時の間の時間を計算する方法


  1. DateTimeオブジェクトを使用する方法:

    $start = new DateTime('2024-01-31 10:00:00');
    $end = new DateTime('2024-01-31 14:30:00');
    $interval = $start->diff($end);
    $hours = $interval->h;
    echo "時間差: $hours 時間";
  2. strtotime関数を使用する方法:

    $start = strtotime('2024-01-31 10:00:00');
    $end = strtotime('2024-01-31 14:30:00');
    $diff = $end - $start;
    $hours = floor($diff / (60 * 60));
    echo "時間差: $hours 時間";
  3. 自作の関数を使用する方法:

    function calculateHourDifference($start, $end) {
       $startTimestamp = strtotime($start);
       $endTimestamp = strtotime($end);
       $diff = $endTimestamp - $startTimestamp;
       $hours = floor($diff / (60 * 60));
       return $hours;
    }
    $start = '2024-01-31 10:00:00';
    $end = '2024-01-31 14:30:00';
    $hours = calculateHourDifference($start, $end);
    echo "時間差: $hours 時間";