作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经扩展了 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
并且只需将其扩展为类型即可:
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"
}
}
关于迄今为止的 Swift TimeInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127310/
我在将一列转换为日期时遇到一些问题。 我希望将'01/02/98'(日、月、年)转换为'1998-02-01'(年、月、日). 以及如何将 '98' 转换为 1998。 最佳答案 I want thi
我正在从旧系统转换许多晦涩的日期格式。日期作为字符串解包/处理并转换为 ISO 8601 格式。 这个特定的函数尝试将 YYMMDD0F 转换为 YYYYMMDD ——函数名称说明了一切。从 2000
我是一名优秀的程序员,十分优秀!