swift - 如何获得自某个时间标记以来已经过去了多少分钟

标签 swift time nsdate

我希望我的应用能够显示自某个时间标记以来经过了多少时间,例如秒表。我应该使用 NSdate 吗?

我尝试使用 NSDate(timeIntervalSinceReferenceDate:_) 作为参数,我想选择 NSDate(timeIntervalSince1970: someTimeStamp),这是不允许的。

我也尝试手动完成,将当前时间的 NSTimeInterval 转换为 Int,如下所示:

var date = NSDate().timeIntervalSince1970
let time3 = Int(date)
let time4 = Int(someTimeStamp) //NSTimeInterval in Epoch time
let time5 = Double(time3 - time4)
let time6 = NSDate(timeIntervalSinceReferenceDate: time5) //This is what I need

虽然现在我不确定如何正确显示 time6,但我可以手动除以 60 得到分钟数,再除以 60 得到小时数,但我很确定必须有更简单的方法显示自 NSTimeInterval 以来经过了多长时间的方法(如果低于 60 分钟,最好采用 mm 格式,如果高于 60 分钟,则采用 hh:mm 格式)

最佳答案

让 elapsedTime = NSDate().timeIntervalSinceDate(DateYouWantToPassToGetInterval)

注意 NSDate 后面的 ()。 NSDate() 实例化一个新的 NSDate 对象,然后 timeIntervalSinceDate 返回它与 timeAtPress 之间的时间差。这将返回一个浮点值(从技术上讲,一个 NSTimeInterval)。

如果您希望将其截断为 Int 值,您可以使用:

让持续时间 = Int(elapsedTime)

关于swift - 如何获得自某个时间标记以来已经过去了多少分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34370765/

相关文章:

ios - 如何从 subview Controller 中找到选项卡栏方案中选定的选项卡

ios - 同时设置UINavigationController的导航栏和rootViewController

ios - 删除数组中的 View 和引用

java - 解析时间字符串,如 "1h 30min"

iphone - 关于 JSON 日期转换错误

iphone - NSDate,比较两个日期

swift - performSegue(withIdentifier) 在 vi​​ewController 的一个实例中失败

time - 在 Go 中将 UTC 时间转换为 "local"时间

c++ - visual studio 中 GNU tm 的等价物是什么?

objective-c - 按对象的 NSDate 属性对对象数组进行排序