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

1 時間は 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 に答える