自己整理下过去写过的一些小方法。
-(NSString*)Gettimelabel:(NSString*)dateStr
{
//将传入时间转化成需要的格式
NSDateFormatter *format=[[NSDateFormatteralloc] init];
[format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *fromdate=[formatdateFromString:dateStr];
NSString*FromDate=[formatstringFromDate:fromdate];
float fromDay=[[[FromDatesubstringFromIndex:8]substringToIndex:2]floatValue];//显示的日期天
//获取当前时间
NSDate *date = [NSDatedate];
NSString*nowDate=[formatstringFromDate:date];
float nowDay=[[[nowDatesubstringFromIndex:8]substringToIndex:2]floatValue];//今天的日期天
double intervalTime =[datetimeIntervalSinceReferenceDate]- [fromdatetimeIntervalSinceReferenceDate];
long lTime = (long)intervalTime;
NSInteger iSeconds = lTime %60;
NSInteger iMinutes = (lTime /60) % 60;
NSInteger iHours = (lTime /3600);
NSInteger iDays = lTime/60/60/24;
NSInteger iMonth = lTime/60/60/24/12;
NSInteger iYears = lTime/60/60/24/365;
//以下可根据需求修改
return [FromDatesubstringToIndex:10];//年月日
else if(iMonth>0||iDays>0)
return [[FromDatesubstringFromIndex:5]substringToIndex:5];//月日
else if (iHours>0&&fromDay==nowDay)
return [NSStringstringWithFormat:@"%@",[[FromDatesubstringFromIndex:11]substringToIndex:5]];//时分
else if (iHours>0&&!(fromDay==nowDay))
return [NSStringstringWithFormat:@"昨天"];//时分
else if (iMinutes>0)
return [NSStringstringWithFormat:@"%ld分钟前",iMinutes];//分钟
else if (iSeconds>5)
return [NSStringstringWithFormat:@"%ld秒前",iSeconds];//秒
else if (iSeconds<=5)
return [NSStringstringWithFormat:@"刚刚"];//秒
else//年月日
return FromDate;
}