当前,我使用Date(timeIntervalSince1970: dateDouble).relativeTime
来获取相对时间。并获取类似“ 2小时前”的字符串。有没有办法获取本地化的字符串?
答案 0 :(得分:2)
let timeInterval = 0
let date = Date(timeIntervalSinceNow: timeInterval)
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .none
dateFormatter.dateStyle = .medium
dateFormatter.locale = Locale.current
dateFormatter.doesRelativeDateFormatting = true
print(dateFormatter.string(from: date)) // Today
// modifying locale
dateFormatter.locale = Locale(identifier: "fr_FR")
print(dateFormatter.string(from: date)) // aujourd’hui
答案 1 :(得分:0)
好吧,GitHub上有一个名为NSDate-TimeAgo的库,或者它的较新版本迁移到DateTools中,这要感谢@Koen评论,它将使您的工作变得更轻松,它支持许多语言及其实现方式都非常简单,您只需要输入日期即可:
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:0];
NSString *ago = [date timeAgo];
它将日期格式化为例如:
片刻前”,“ 30秒前”,“ 5分钟前”,“昨天”,“最后 月”,“ 2年前”
诀窍是使用NSTimer / Timer不时地重新加载视图以重新计算时间。
祝你好运。