iOS 刚刚,几分钟前,几小时前,几天前,几月前,几年前
- (NSString *)compareCurrentTime:(NSDate*) compareDate { NSTimeInterval timeInterval = [compareDate timeIntervalSinceNow]; timeInterval = -timeInterval; int temp = 0; NSString *result; if (timeInterval < 60) { result = @"刚刚"; } else if((temp = timeInterval/60) <60){ result = [NSString stringWithFormat:@"%d分钟前",temp]; } else if((temp = temp/60) <24){ result = [NSString stringWithFormat:@"%d小时前",temp]; } else if((temp = temp/24) <30){ result = [NSString stringWithFormat:@"%d天前",temp]; } else if((temp = temp/30) <12){ result = [NSString stringWithFormat:@"%d月前",temp]; } else{ temp = temp/12; result = [NSString stringWithFormat:@"%d年前",temp]; } return result; }
另类写法
//------------------------------------------------------------------------------------------------------------------------------------------------- NSString* TimeElapsed(NSTimeInterval seconds) //------------------------------------------------------------------------------------------------------------------------------------------------- { NSString *elapsed; if (seconds < 60) { elapsed = @"Just now"; } else if (seconds < 60 * 60) { int minutes = (int) (seconds / 60); elapsed = [NSString stringWithFormat:@"%d %@", minutes, (minutes > 1) ? @"mins" : @"min"]; } else if (seconds < 24 * 60 * 60) { int hours = (int) (seconds / (60 * 60)); elapsed = [NSString stringWithFormat:@"%d %@", hours, (hours > 1) ? @"hours" : @"hour"]; } else { int days = (int) (seconds / (24 * 60 * 60)); elapsed = [NSString stringWithFormat:@"%d %@", days, (days > 1) ? @"days" : @"day"]; } return elapsed; }