最短的"time ago"



我创建了一个函数,它非常好地比较两个日期并将差值作为字符串返回

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())
}
}

希望对您有所帮助!

最新更新