使用 SwiftDate 的日期之间的小时数

Hours between dates with SwiftDate

使用 SwiftDate 库获取两个日期之间的小时数的最简单方法是什么?

在这种情况下,小时可以是天/分钟或我下次需要的任何时间。

我知道我可能会做到 (date1 - date2) / 60 * 60,但我感觉不太对。

Calendar 可以做到:

let calendar = Calendar.current
let components = calendar.dateComponents([.hour], from: date1, to: date2)
let hours = components.hour!

或单行:

let hours = Calendar.current.dateComponents([.hour], from: date1, to: date2).hour!

或作为 Date 扩展名:

extension Date {

    func hoursSince(date: Date) -> Int
    {
        return Calendar.current.dateComponents([.hour], from: date, to: self).hour!
    }
}

在 SwiftDate 中你可以轻松做到

(date1 - date2).in(.hour)