听起来像
DateComponentsFormatter
我以这两个日期为例
let earlier = // 29 Sep 2017, 04:36
let later = // 2 Oct 2017, 10:04
let componentFormatter = DateComponentsFormatter()
componentFormatter.string(from: earlier, to: later)
// "3d 5:28:07"
如果像在您的问题中一样,希望格式化的字符串使用完整的单元名称,则可以配置
unitStyle
格式化程序的:
componentFormatter.unitsStyle = .full
// "3 days, 5 hours, 28 minutes, 7 seconds"
maximumUnitCount
格式化程序的:
componentFormatter.maximumUnitCount = 1
// "3 days"
includesApproximationPhrase
在格式化程序上:
componentFormatter.includesApproximationPhrase = true
// "About 3 days"