我想将日期和时间的格式设置为“5小时之前”,就像“日历”应用程序一样。而且我还希望将格式化的字符串本地化为多种语言。
iOS 13中引入了一个名为RelativeDateTimeFormatter
的新API。但是,此API只能生成本地化的字符串,例如“2小时前”和“2小时内”。这不适合我的目的。
我想知道是否有提供所需功能的API。
最佳答案
如果可以本地化之前的部分,则可以考虑使用DateComponentsFormatter
?
(也许这更适合作为注释,但似乎太长了)
例如:
let componentsList = [
DateComponents(minute:5),
DateComponents(minute:10),
DateComponents(minute:15),
DateComponents(minute:30),
DateComponents(hour:1),
DateComponents(hour:2),
DateComponents(day:1),
DateComponents(day:2),
DateComponents(weekOfMonth:1)
]
for components in componentsList {
if let text = DateComponentsFormatter.localizedString(from: components, unitsStyle: .full) {
print("\(text) before")
}
}
关于ios - 如何以“2小时之前”的格式格式化日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64022675/