我已经将Date扩展为返回如下字符串:
extension Date {
func timeAgoDisplay() -> String {
print("Date RIGHT NOW: \(self)")
let secondsAgo = Int(Date().timeIntervalSince(self))
if secondsAgo >= 86400 * 2 {
return "\(((secondsAgo / 60) / 60) / 24) days ago"
} else if secondsAgo >= 86400 {
return "\(((secondsAgo / 60) / 60) / 24) day ago"
} else if secondsAgo > 7200 {
return "\((secondsAgo / 60) / 60) hours ago"
} else if secondsAgo >= 3600 {
return "\((secondsAgo / 60) / 60) Hour ago"
} else if secondsAgo < 60 {
return "\(secondsAgo) seconds ago"
} else if secondsAgo > 119 {
return "\(secondsAgo / 60) minutes ago"
}
return "\(secondsAgo / 60) minute ago"
}
}
我在数据库中为用户发布的每个帖子都有一个timeInterval,但我想知道如何使这个扩展工作到帖子的TimeInterval。
答案 0 :(得分:0)
看起来你几乎就在那里!您已经在计算TimeInterval
并且只需要改为扩展类型:
extension TimeInterval {
func timeAgoDisplay() -> String {
let secondsAgo = Int(self)
if secondsAgo >= 86400 * 2 {
return "\(((secondsAgo / 60) / 60) / 24) days ago"
} else if secondsAgo >= 86400 {
return "\(((secondsAgo / 60) / 60) / 24) day ago"
} else if secondsAgo > 7200 {
return "\((secondsAgo / 60) / 60) hours ago"
} else if secondsAgo >= 3600 {
return "\((secondsAgo / 60) / 60) Hour ago"
} else if secondsAgo < 60 {
return "\(secondsAgo) seconds ago"
} else if secondsAgo > 119 {
return "\(secondsAgo / 60) minutes ago"
}
return "\(secondsAgo / 60) minute ago"
}
}