gpt4 book ai didi

ios - 计算 NSDate swift 2 之间的持续时间

转载 作者:行者123 更新时间:2023-11-28 21:37:28 25 4
gpt4 key购买 nike

在通知中,您会看到显示“5 分钟前发布”的事件,这就是我要在这里实现的目标。以下功能正常运行。

func daysBetweenDate(startDate: NSDate, endDate: NSDate) -> Int
{
let calendar = NSCalendar.currentCalendar()

let components = calendar.components([.Day], fromDate: startDate, toDate: endDate, options: [])
// print(components.second)
return components.day
}

daysBetweenDate(postedDate, endDate: NSDate())

func hoursBetweenDate(startDate: NSDate, endDate: NSDate) -> Int
{
let calendar = NSCalendar.currentCalendar()

let components = calendar.components([.Hour], fromDate: startDate, toDate: endDate, options: [])
// print(components.second)
return components.hour
}

hoursBetweenDate(postedDate, endDate: NSDate())

我如何识别 postedDate 已经是秒、分钟、小时或天了。并返回任何必要的?

如果两个 NSDate 之间的持续时间超过一分钟,我想输出“34 分钟前”,如果超过一个小时,则输出“2 小时前”,依此类推。我怎样才能有条件地做到这一点。

最佳答案

给两个日期,你可以用 NSDateComponentsFormatter 很好地做到这一点:

let form = NSDateComponentsFormatter()
form.maximumUnitCount = 1
form.unitsStyle = .SpellOut // or .Full, whatever you prefer
let s = form.stringFromTimeInterval(
d1.timeIntervalSinceReferenceDate - d2.timeIntervalSinceReferenceDate)

关于ios - 计算 NSDate swift 2 之间的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com