我有一些問題,試圖以良好的格式和邏輯顯示時間作爲字符串在Swift 3。Swift 3 - 如何顯示時間爲字符串(每5分鐘)
語境
我們的用戶可以給我們發送信息到我們的服務器。我將這些信息顯示在應用程序中,並對其進行統計。
例如,我想計算並顯示自第一條信息發佈以來的經過時間。
我有最舊的用戶信息(作爲時間戳),我想顯示經過的時間。
例如,如果經過的時間(從現在起第一條信息發佈起)爲0到5分鐘。
「貼在最後5分鐘 X信息」 - > [0-5]分鐘
「X張貼信息在最後10分鐘」 - >] 5-10]分鐘
「貼在最後一小時 X的信息」 - > 1h和更
我該如何處理這個具體的案例和解決方案使我在迅速做到這一點。
這是我迄今所做的:
小號elf.info我的信息陣列(每個信息都有一個時間戳財產
private func getInformationTime() -> String {
//Get the oldest Information
let sortedArray = self.info.sorted(by: { $0.timestamp < $1.timestamp })
let oldestInfoDate = Date(timeIntervalSince1970: (sortedArray.first?.timestamp)!)
let now = Date()
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.minute]
formatter.maximumUnitCount = 1
let string = formatter.string(from: oldestInfoDate as Date, to: now as Date)
return string!
}
我這樣調用它,它顯示我這個:
let infoTime = self. getInformationTime()
let message = "\(self.info.count) informations in \(infoTime)"
print(message)
結果:244 informations in 184 min
結果是合適的,我有良好的數字和良好的時間價值。
我希望能夠正確格式化它。
PS:我的應用程序使用國際讓我必須能夠把它在不同的語言(字符串文件)翻譯。
我只會自定義擴展名以顯示我想要的方式。謝謝,我正在尋找什麼。 – Balanced