例えば、2000/10/09と2000/11/09の差分を調べたい場合。
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd"
let start = "2000/10/09"
let end = "2000/11/09"
let startDate:NSDate? = dateFormatter.dateFromString(start)
let endDate:NSDate? = dateFormatter.dateFromString(end)
let cal = NSCalendar.currentCalendar()
let calUnit:NSCalendarUnit = [.Day]
let components = cal.components(calUnit, fromDate: startDate!, toDate: endDate!, options: NSCalendarOptions())
print(components.day)
こうすると差分日数は「31」だとでてきます。
上の例は差分の日数のみ取得していますが、年や月まで知りたい時はNSCalendarUnitでその旨、指定してあげるといいです。
let calUnit:NSCalendarUnit = [.Year, .Month, .Day]
のように。