src/DateExtension.php
protected function splitDuration($seconds, $max)
    {
        if ($max < 1 || $seconds < 60) {
            return [$seconds];
        }
        
        $minutes = floor($seconds / 60);
        $seconds = $seconds % 60;
        if ($max < 2 || $minutes < 60) {
            return [$seconds, $minutes];
        }
        
        $hours = floor($minutes / 60);
        $minutes = $minutes % 60;
        if ($max < 3 || $hours < 24) {
            return [$seconds, $minutes, $hours];
        }
        
        $days = floor($hours / 24);
        $hours = $hours % 24;
        if ($max < 4 || $days < 7) {
            return [$seconds, $minutes, $hours, $days]; 
        }
        
        $weeks = floor($days / 7);
        $days = $days % 7;
        if ($max < 5 || $weeks < 52) {
            return [$seconds, $minutes, $hours, $days, $weeks];
        }
        
        $years = floor($weeks / 52);
        $weeks = $weeks % 52;
        return [$seconds, $minutes, $hours, $days, $weeks, $years];
    }
protected function splitDuration($seconds, $max)
    {
        if ($max < 1 || $seconds < 60) {
            return [$seconds];
        }
        
        $minutes = floor($seconds / 60);
        $seconds = $seconds % 60;
        if ($max < 2 || $minutes < 60) {
            return [$seconds, $minutes];
        }
        
        $hours = floor($minutes / 60);
        $minutes = $minutes % 60;
        if ($max < 3 || $hours < 24) {
            return [$seconds, $minutes, $hours];
        }
        
        $days = floor($hours / 24);
        $hours = $hours % 24;
        if ($max < 4 || $days < 7) {
            return [$seconds, $minutes, $hours, $days]; 
        }
        
        $weeks = floor($days / 7);
        $days = $days % 7;
        if ($max < 5 || $weeks < 52) {
            return [$seconds, $minutes, $hours, $days, $weeks];
        }
        
        $years = floor($weeks / 52);
        $weeks = $weeks % 52;
        return [$seconds, $minutes, $hours, $days, $weeks, $years];
    }
protected function splitDuration ( $ seconds , $ max ) { if ( $ max < 1 || $ seconds < 60 ) { return [ $ seconds ] ; } $ minutes = floor ( $ seconds / 60 ) ; $ seconds = $ seconds % 60 ; if ( $ max < 2 || $ minutes < 60 ) { return [ $ seconds , $ minutes ] ; } $ hours = floor ( $ minutes / 60 ) ; $ minutes = $ minutes % 60 ; if ( $ max < 3 || $ hours < 24 ) { return [ $ seconds , $ minutes , $ hours ] ; } $ days = floor ( $ hours / 24 ) ; $ hours = $ hours % 24 ; if ( $ max < 4 || $ days < 7 ) { return [ $ seconds , $ minutes , $ hours , $ days ] ; } $ weeks = floor ( $ days / 7 ) ; $ days = $ days % 7 ; if ( $ max < 5 || $ weeks < 52 ) { return [ $ seconds , $ minutes , $ hours , $ days , $ weeks ] ; } $ years = floor ( $ weeks / 52 ) ; $ weeks = $ weeks % 52 ; return [ $ seconds , $ minutes , $ hours , $ days , $ weeks , $ years ] ; }
Split duration into seconds, minutes, hours, days, weeks and years.

@param int $seconds
@return array
Split duration into seconds minutes hours days weeks and years .