2015-04-04 61 views
-3

我有一個objective-c exsample如何計算天數與midnites的數量差異,發表在Apple的「日期和時間編程指南」中。在Swift中做同樣的事情嗎?通過快速計算midnights的天差

@implementation NSCalendar (MySpecialCalculations) 
-(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate 
{ 
    NSInteger startDay=[self ordinalityOfUnit:NSDayCalendarUnit 
      inUnit: NSEraCalendarUnit forDate:startDate]; 
    NSInteger endDay=[self ordinalityOfUnit:NSDayCalendarUnit 
      inUnit: NSEraCalendarUnit forDate:endDate]; 
    return endDay-startDay; 
} 
@end 

回答

0

基於基本的Objective-C的斯威夫特轉換文檔:

extension NSCalendar { 
    public func daysApart (sd: NSDate, ed: NSDate) -> Int { 
    return ordinalityOfUnit(.DayCalendarUnit, inUnit: .EraCalendarUnit, forDate: ed) - 
      ordinalityOfUnit(.DayCalendarUnit, inUnit: .EraCalendarUnit, forDate: sd) 
    } 
} 
0

我會做這樣的事情:

extension NSCalendar { 
    func daysWithinEraFromDate(startDate: NSDate, toDate endDate: NSDate) -> NSInteger { 
     let startDay = self.ordinalityOfUnit(.DayCalendarUnit, inUnit: .EraCalendarUnit, forDate: startDate) 
     let endDay = self.ordinalityOfUnit(.DayCalendarUnit, inUnit: .EraCalendarUnit, forDate: endDate) 
     return endDay - startDay 
    } 

}