60 * 60 * 24 * 7 * 4, 'week' => 60 * 60 * 24 * 7, 'day' => 60 * 60 * 24, 'hour' => 60 * 60, 'min' => 60, 'sec' => 1, ]; foreach( $units as $unit => $secs ) { $duration[$unit] = 0; if( $pDuration > $secs ) { $duration[$unit] = floor( $pDuration / $secs ); $pDuration = $pDuration % $secs; } } $ret = !empty( $duration['month'] ) ? $duration['month'].KernelTools::tra( 'month(s)' ).' ' : ''; $ret .= !empty( $duration['week'] ) ? $duration['week'] .KernelTools::tra( 'week(s)' ).' ' : ''; $ret .= !empty( $duration['day'] ) ? $duration['day'] .KernelTools::tra( 'day(s)' ).' ' : ''; $ret .= str_pad( $duration['hour'], 2, 0, STR_PAD_LEFT ).':'.str_pad( $duration['min'], 2, 0, STR_PAD_LEFT ).':'.str_pad( $duration['sec'], 2, 0, STR_PAD_LEFT ); return $ret; }