2016-09-16 134 views
2

我不知道如何正确地迁移此功能来迅速3.斯威夫特3 Calendar.range - 迁移功能

extension Date { 

    func numberOfDaysUntilDateTime(toDateTime: NSDate, calendar:NSCalendar) -> Int { 

     var fromDate: NSDate?, toDate: NSDate? 

     calendar.rangeOfUnit(.Day, startDate: &fromDate, interval: nil, forDate: self) 
     calendar.rangeOfUnit(.Day, startDate: &toDate, interval: nil, forDate: toDateTime) 

     let difference = calendar.components(.Day, fromDate: fromDate!, toDate: toDate!, options: []) 

     return difference.day 

    } 

} 

回答

5

见例如如何在斯威夫特3

使用 rangeOfUnit这个答案 How to get the 'n' weekday of a Date

但是,还有一个更简单的方法来获得 的一天开始了,其直接转化为斯威夫特3日期:

extension Date { 
    func numberOfDaysUntilDateTime(toDateTime: Date, calendar: Calendar) -> Int { 
     let fromDate = calendar.startOfDay(for: self) 
     let toDate = calendar.startOfDay(for: toDateTime) 
     let difference = calendar.dateComponents([.day], from: fromDate, to: toDate) 
     return difference.day! 
    } 
}