【发布时间】:2017-12-29 01:06:03
【问题描述】:
我创建了一个非常好的比较两个日期并将差异返回为字符串的函数
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”?
【问题讨论】:
-
您是否阅读过
UnitsStyle其他内容的文档?你试过了吗? -
是的,选项 .short 是最短的,但仍然很长;)
-
你试过
abbreviated吗?文档说:一种使用最缩写拼写的单位。缩写样式表示单位值的最短拼写。例如,一小时十分钟显示为“1h 10m”。
标签: date nsdatecomponents nsdatecomponentsformatter