明天凌晨时间
let components = NSCalendar.current.dateComponents(Set<Calendar.Component>.init(arrayLiteral: .year, .month, .day), from: Date())
//今天凌晨Date
let todayStart = NSCalendar.current.date(from: components)!
//明天凌晨Date
let todayEnd = NSCalendar.current.date(byAdding: .hour, value: 24, to: todayStart)!
日期差 = 明天凌晨 - 之前时间
let dayDiff:Int = Calendar.current.dateComponents([.day], from: <#之前的时间#>, to: todayEnd).day
并不可以直接用Date() - 之前的日期,因为小于24小时的日期差等于0,只有用明天凌晨的时间去减之前的时间差才能得到日历上的日期差。
注:东八区时间存在8h时差,但时间差这个时差抵消了