如何在 iOS 中生成类似通知的时间字符串?
How can I generate a notification-like time ago strings in iOS?
iOS 上的通知显示它们到达的时间:
- "now"
- “5 分钟前”
- “1 天前”
是否有本地方式在 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" 虽然不确定这是否是您真正想要的。
iOS 上的通知显示它们到达的时间:
- "now"
- “5 分钟前”
- “1 天前”
是否有本地方式在 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" 虽然不确定这是否是您真正想要的。