仿微博格式化时间字符串

.h文件

//格式化时间字符串

+ (NSString*)handleTimeType:(NSString*)date;

+ (NSString*)handleTimeTypeStr:(NSDate*)dateString;

.m文件

+ (NSString*)handleTimeTypeStr:(NSDate*)dateString{

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSString*dateStr = [formatterstringFromDate:dateString];

return[selfhandleTimeType:dateStr];

}

+ (NSString*)handleTimeType:(NSString*)date{

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

NSDate*currentDate = [NSDatedateWithTimeIntervalSinceNow:0];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSDate*localDate = [formatterdateFromString:date];

if([selfisThisYear:localDate]) {

NSTimeIntervaltimeInterval =ABS([localDate timeIntervalSinceDate:currentDate]);

if(timeInterval <60) {

return@"刚刚";

}elseif(timeInterval <3600){

NSIntegerminuter = timeInterval /60;

return[NSStringstringWithFormat:@"%ld分钟前",(long)minuter];

}elseif(timeInterval <3600*24){

formatter.dateFormat=@"yyyy-MM-dd";

NSString*currentDateStr = [formatterstringFromDate:currentDate];

NSString*createAtStr = [formatterstringFromDate:localDate];

if([currentDateStrisEqualToString:createAtStr]) {

//是今天

NSIntegerhours = timeInterval /3600;

return[NSStringstringWithFormat:@"%ld小时前",(long)hours];

}else{

//是昨天

formatter.dateFormat=@"昨天HH:mm";

}

}else{

formatter.dateFormat=@"MM-dd HH:mm";

}

}else{

//不是今年

formatter.dateFormat=@"yyyy-MM-dd HH:mm";

}

return[formatterstringFromDate:localDate];

}

+ (BOOL)isThisYear:(NSDate*)createAt{

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy";

//获取年份

NSString*dateYearStr = [formatterstringFromDate:createAt];

//获取当前年份

NSString*currentYearStr = [formatterstringFromDate:[NSDatedate]];

return[dateYearStrisEqualToString:currentYearStr];

}

跟微博一样哦,我觉得还不错,分享给大家.

你可能感兴趣的:(仿微博格式化时间字符串)