我有一些问题,试图以良好的格式和逻辑显示时间作为字符串在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