用NSDateComponents计算时间差
先来看OC
//获取日历对象
NSCalendar *cal = [NSCalendar currentCalendar];
//fromDate
NSDate *fromDate;
//toDate
NSDate *toDate;
//计算时间差
NSDateComponents *gap = [cal components:NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:fromDate toDate:toDate options:0];
//差几年
NSInteger num = [gap year];
//差几月
NSInteger num = [gap month];
//差几天
NSInteger num = [gap day];
//差几小时
NSInteger num = [gap hour];
//差几分钟
NSInteger num = [gap minute];
再来看swift
//获取日历对象
let cal = Calendar.current
//fromDate
let fromDate;
//toDate
let toDate;
//计算时间差
let gap = cal.dateComponents([Calendar.Component.day, Calendar.Component.hour, Calendar.Component.minute, Calendar.Component.month, Calendar.Component.year], from: fromDate, to: toDate)
//差几年
let num = gap.year!
//差几月
let num = gap.month!
//差几天
let num = gap.day!
//差几小时
let num = gap.hour!
//差几分钟
let num = gap.minute!