PHPでの10進数から時刻文字列への変換方法


  1. gmdate() 関数を使用する方法:

    $decimal = 3.5; // 変換する10進数
    $hours = floor($decimal); // 時間部分を取得
    $minutes = ($decimal - $hours) * 60; // 分部分を計算
    $timeString = gmdate('H:i', mktime($hours, $minutes)); // 時刻文字列を生成
    echo $timeString; // 結果を表示
  2. DateTime クラスを使用する方法:

    $decimal = 3.5; // 変換する10進数
    $hours = floor($decimal); // 時間部分を取得
    $minutes = ($decimal - $hours) * 60; // 分部分を計算
    $time = new DateTime();
    $time->setTime($hours, $minutes);
    $timeString = $time->format('H:i'); // 時刻文字列を生成
    echo $timeString; // 結果を表示
  3. 自作の変換関数を使用する方法:

    function decimalToTimeString($decimal) {
    $hours = floor($decimal); // 時間部分を取得
    $minutes = ($decimal - $hours) * 60; // 分部分を計算
    $formattedHours = str_pad($hours, 2, '0', STR_PAD_LEFT); // 時間を2桁に整形
    $formattedMinutes = str_pad($minutes, 2, '0', STR_PAD_LEFT); // 分を2桁に整形
    return $formattedHours . ':' . $formattedMinutes; // 時刻文字列を返す
    }
    $decimal = 3.5; // 変換する10進数
    $timeString = decimalToTimeString($decimal); // 変換関数を呼び出し
    echo $timeString; // 結果を表示

上記のコード例では、それぞれ異なる方法で10進数を時刻文字列に変換する方法を示しています。ご希望の方法に基づいて、適切なコードを使用してください。