swift - 如何找到两次之间的时间跨度?

标签 swift

我想计算剩余时间。我有一个完成时间。如何计算从现在到完成时间之间的剩余时间?

我需要这样的东西

let date = NSDate()
let formatter = NSDateFormatter()
formatter.timeStyle = .ShortStyle
var now = formatter.stringFromDate(date) //prints 12.21 AM
var finishTime = "13:30 PM"

var remaining = now - finishTime //I want it to print 01:09 as remaining time

最佳答案

func timeRemainingString(finishDate date:NSDate) -> String {
    let secondsFromNowToFinish = date.timeIntervalSinceNow
    let hours = Int(secondsFromNowToFinish / 3600)
    let minutes = Int((secondsFromNowToFinish - Double(hours) * 3600) / 60)
    let seconds = Int(secondsFromNowToFinish - Double(hours) * 3600 - Double(minutes) * 60 + 0.5)

    return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
}

关于swift - 如何找到两次之间的时间跨度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619047/

相关文章:

swift - 如何使用 Storyboard将字符串传递到另一个 Controller (textViewController)Swift 3

ios - NSComparisonResult 在晚上 10 点及以上未按预期工作

ios - 来自特定 View Controller 的 viewDidAppear

swift - 为什么过滤器(_ :)’s predicate get called so many times when evaluating it lazily?

ios - 计算 Collection View 单元格内tableView高度的高度

swift - 'MKPinAnnotationView' 不可转换为 '()'

ios - 将 UILabel 添加到图像

ios - NSUrlSession 在 Swift 中运行缓慢

swift - 间歇性 HTTP 加载失败 kCFStreamErrorDomainSSL (-9802)

ios - 保存后是否可以将元数据添加到 HKWorkout?