Если вы хотите отформатировать интервал как время, то лучшим решением будет использовать DateFormatter
:
let interval: TimeInterval = 4155
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.dateFormat = "HH:mm"
print(formatter.string(from: Date(timeIntervalSinceReferenceDate: interval)))
Это всегда будет использовать тот же формат, всегда отображая часы.
DateComponentFormatter
не дополняется нулями, поскольку предполагается, что он будет использоваться с более высокими единицами, например, вы можете получить результаты типа «300: 24», если ваш TimeInterval
достаточно высок.