当我比较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
}
有没有办法在没有白天时间调整的情况下以秒为单位获得差异?在我的情况下,我不需要它们,我需要秒粒度。
答案 0 :(得分: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)
}