2015-04-04 64 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 
    } 

}