利用时间戳来准确计算某个时间点具现在的时间差,可以参考 CocoaChina 会员 “” 分享的下面这段代码- (NSString *)intervalSinceNow: (NSString *) theDate { NSDateFormatter *date=[[NSDateFormatter alloc] init]; [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *d=[date dateFromString:theDate]; NSTimeInterval late=[d timeIntervalSince1970]*1; NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; NSTimeInterval now=[dat timeIntervalSince1970]*1; NSString *timeString=@""; NSTimeInterval cha=now-late; if (cha/3600<1) { timeString = [NSString stringWithFormat:@"%f", cha/60]; timeString = [timeString substringToIndex:timeString.length-7]; timeString=[NSString stringWithFormat:@"%@分钟前", timeString]; } if (cha/3600>1&&cha/86400<1) { timeString = [NSString stringWithFormat:@"%f", cha/3600]; timeString = [timeString substringToIndex:timeString.length-7]; timeString=[NSString stringWithFormat:@"%@小时前", timeString]; } if (cha/86400>1) { timeString = [NSString stringWithFormat:@"%f", cha/86400]; timeString = [timeString substringToIndex:timeString.length-7]; timeString=[NSString stringWithFormat:@"%@天前", timeString]; } [date release]; return timeString;}