How to sum N number of time (HH:MM Format)?

后端 未结 5 1289
独厮守ぢ
独厮守ぢ 2020-11-27 21:43

I am using the following sample code to calculate sum of two different time values. Now I want to get the sum of N number of time values.

// numbers for test         


        
5条回答
  •  Happy的楠姐
    2020-11-27 22:25

    this should do what you are looking for:

    $times is the array of times and you can add how many time you want

    $times = array();
    
    $times[] = "12:59";
    $times[] = "0:58";
    $times[] = "0:02";
    
    // pass the array to the function
    echo AddPlayTime($times);
    
    function AddPlayTime($times) {
        $minutes = 0; //declare minutes either it gives Notice: Undefined variable
        // loop throught all the times
        foreach ($times as $time) {
            list($hour, $minute) = explode(':', $time);
            $minutes += $hour * 60;
            $minutes += $minute;
        }
    
        $hours = floor($minutes / 60);
        $minutes -= $hours * 60;
    
        // returns the time already formatted
        return sprintf('%02d:%02d', $hours, $minutes);
    }
    

    EDIT

    I edited the code with the right names of the variables. It is more correct now.

    hope this helps :-)

提交回复
热议问题