首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimeAgo总是显示为“刚才”

TimeAgo总是显示为“刚才”
EN

Stack Overflow用户
提问于 2021-02-15 16:07:28
回答 1查看 34关注 0票数 0

我似乎不明白发生了什么,为什么什么都没有改变,而它却应该改变

代码语言:javascript
复制
    let date = Date(timeIntervalSince1970: timestamp)
    let timeAgo = timeAgoSince(date)

    print(timeAgo)

print (timeAgo)总是显示为“刚才”有关于这个问题的帮助吗?

这是我的分机

代码语言:javascript
复制
public func timeAgoSince(_ date: Date) -> String {

let calendar = Calendar.current
let now = Date()
let unitFlags: NSCalendar.Unit = [.second, .minute, .hour, .day, .weekOfYear, .month, .year]
let components = (calendar as NSCalendar).components(unitFlags, from: date, to: now, options: [])

if let year = components.year, year >= 2 {
    return "\(year) years ago"
}

if let year = components.year, year >= 1 {
    return "Last year"
}

if let month = components.month, month >= 2 {
    return "\(month) months ago"
}

if let month = components.month, month >= 1 {
    return "Last month"
}

if let week = components.weekOfYear, week >= 2 {
    return "\(week) weeks ago"
}

if let week = components.weekOfYear, week >= 1 {
    return "Last week"
}

if let day = components.day, day >= 2 {
    return "\(day) days ago"
}

if let day = components.day, day >= 1 {
    return "Yesterday"
}

if let hour = components.hour, hour >= 2 {
    return "\(hour) hours ago"
}

if let hour = components.hour, hour >= 1 {
    return "An hour ago"
}

if let minute = components.minute, minute >= 2 {
    return "\(minute) minutes ago"
}

if let minute = components.minute, minute >= 1 {
    return "A minute ago"
}

if let second = components.second, second >= 3 {
    return "\(second) seconds ago"
}

return "Just now"

}

Timestamp的值是1604189555939,但是timeago不会改变任何帮助?还有谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-15 16:39:01

您的时间戳以毫秒为单位,而Date(timeIntervalSince1970: timestamp)需要秒,因此使用以下代码可以解决您的问题:

代码语言:javascript
复制
let date = Date(timeIntervalSince1970: timestamp / 1000)
let timeAgo = timeAgoSince(date)
print(timeAgo)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66204508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档