我创建了一个函数,它非常好地比较两个日期并将差值作为字符串返回
extension Date {
var shortTimeAgo: String {
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.year,.month,.weekOfMonth,.day,.hour,.minute,.second]
formatter.maximumUnitCount = 1
formatter.unitsStyle = .short
return formatter.string(from: self, to: Date())
}
}
但它返回"35 秒"、"10 分钟"甚至"2 天 1 小时"等值
如何获得更短的值,例如"35s"、"10m"和"2d"?
试试这段代码 -
extension Date {
var shortTimeAgo: String {
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.year,.month,.weekOfMonth,.day,.hour,.minute,.second]
formatter.maximumUnitCount = 1
formatter.unitsStyle = .abbreviated
return formatter.string(from: self, to: Date())
}
}
希望对您有所帮助!