0

当我比较 10 月 25 日的开始和结束时,我得到 89999 秒(25 小时)。

我使用以下方法比较日期:

endOfDay.timeIntervalSinceDate(startOfDay)

但是,当我比较小时数时,我得到 24。我使用 NSDate 的以下扩展功能来比较小时数:

 func differenceInHoursWith(date: NSDate) -> Int{
        let components = NSCalendar.currentCalendar().components(.Hour, fromDate: self, toDate: date, options: [])
        return components.hour
    }

有没有办法在没有白天时间调整的情况下以秒为单位获得差异?在我的情况下,我不需要它们,我需要秒粒度。

4

1 回答 1

0

一个小时有 3600 秒,因此您可以将秒数除以 3600。这是一个执行此操作的实现:

func differenceInHoursWith(date: NSDate) -> Int {
    let seconds = self.timeIntervalSinceDate(date)
    return Int(seconds / 3600)
}

如果你想要差的绝对值,你可以这样做:

func differenceInHoursWith(date: NSDate) -> Int {
    let seconds = self.timeIntervalSinceDate(date)
    let hours = Int(seconds / 3600)
    return abs(hours)
}
于 2015-10-16T21:45:20.723 回答