//当前时间
NSDate *date = [NSDate date];
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
//时间格式
[dateformatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
//当前时间
NSString *locationString = [dateformatter stringFromDate:date];
//把时间转成Date格式
NSDate *now = [dateformatter dateFromString:locationString];
//date转成时间戳
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[now timeIntervalSince1970]];
NSLog(@"时间戳== %@",timeSp);
//时间戳转成时间
NSDate *currentDate = [NSDate dateWithTimeIntervalSince1970:1514476800];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设置时间格式
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//date转化成字符串
NSString *timeStr = [formatter stringFromDate:currentDate];
NSLog(@"时间== %@", timeStr);
//当前时间(晚的时间)
NSDate *afterDate = [NSDate date];
//时间格式
NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init];
dateFomatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
// 截止时间字符串格式 早的时间
NSString *firstDateStr = @"2017-05-20 13:26:37";
// 当前时间字符串格式 晚的时间
NSString *afterDateStr = [dateFomatter stringFromDate:afterDate];
// 截止时间data格式
NSDate *firstDate = [dateFomatter dateFromString:firstDateStr];
// 当前时间data格式
afterDate = [dateFomatter dateFromString:afterDateStr];
// 当前日历
NSCalendar *calendar = [NSCalendar currentCalendar];
// 需要对比的时间数据
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// 对比时间差 先是 早的时间 后是 晚的时间
NSDateComponents *dateCom = [calendar components:unit fromDate:firstDate toDate:afterDate options:0];
NSLog(@"======%ld年%ld月%ld日%ld时%ld分%ld秒 之前 ", dateCom.year, dateCom.month, dateCom.day, dateCom.hour, dateCom.minute, dateCom.second);
// 伪代码
// 年差额 = dateCom.year,
// 月差额 = dateCom.month,
// 日差额 = dateCom.day,
// 小时差额 = dateCom.hour,
// 分钟差额 = dateCom.minute,
// 秒差额 = dateCom.second