在swift中减去时间

时间:2015-06-30 18:15:18

标签: ios swift date

我有2个NSDate对象显示24小时。有没有办法可以减去这两次并将结果放在标签中。我搜索了一种方法,但找不到方法。我唯一能找到的是用timeIntervalFromDate方法将它覆盖到一个double,它返回一个double,我需要24小时表示。

3 个答案:

答案 0 :(得分:1)

它只返回一个NSTimeInterval,即typedef double NSTimeInterval是一个以秒为单位的表示。
进行数学运算以了解小时数如何在x秒内完成,您只需将重新调整的间隔分成3600秒并对结果进行舍入。
我已经构建了一个简单的扩展,可以在swift中用于帮助进行日历计算,你可以在这里找到它:AFSwiftDateExtension

答案 1 :(得分:0)

此功能可以解决您的问题:

func hoursFrom(earlierDate : NSDate, laterDate:NSDate) -> Int
{
        return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitHour, fromDate: earlierDate, toDate: laterDate, options: nil).hour
}

改编自this related question

答案 2 :(得分:0)

extension NSTimeInterval {
    var time:String {
        return String(format:"%02d:%02d:%02d", Int((self/3600.0)%24), Int((self/60.0)%60), Int((self)%60))
    }
}

println(30.time)    // "00:00:30"
println(60.time)    // "00:01:00"
println(600.time)   // "00:10:00"
println(3600.time)  // "01:00:00"