如何在 iOS 中生成类似通知的时间字符串?

How can I generate a notification-like time ago strings in iOS?

iOS 上的通知显示它们到达的时间:

是否有本地方式在 i18n 中生成这些字符串 友好的方式? (注:"m"不是"minutes"

我知道像 YLMoment 这样的库,但 none 似乎支持这些 short 语法。

您应该考虑使用 NSDateComponentsFormatter。例如:

let formatter = NSDateComponentsFormatter()
formatter.unitsStyle = .Abbreviated
formatter.includesApproximationPhrase = true
formatter.allowedUnits = [.Minute]
formatter.maximumUnitCount = 1

let oldDate = NSDate(timeIntervalSinceNow: -60*60)

print(formatter.stringFromDate(oldDate, toDate: NSDate()))

将打印 "About 60m" 它不提供 "ago" 虽然不确定这是否是您真正想要的。