簡體   English   中英

獲取本地化的相對日期 Swift

[英]Get localized relative date Swift

目前我使用Date(timeIntervalSince1970: dateDouble).relativeTime來獲取相對時間。 並獲得像“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

查看https://developer.apple.com/documentation/foundation/dateformatter/1415848-doesrelativedateformatting

好吧,GitHub 上有一個名為NSDate-TimeAgo的庫,或者它的更新版本遷移到DateTools感謝 @Koen 對它的評論,它將使您的工作更輕松,它支持多種語言和實現方式非常簡單,您只需要提供日期,例如:

NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:0];
NSString *ago = [date timeAgo];

它會將日期格式化為例如:

剛才”、“30 秒前”、“5 分鍾前”、“昨天”、“上個月”、“2 年前”

訣竅是重新加載視圖以根據需要使用 NSTimer/Timer 不時重新計算時間。

祝你好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM