方法的定义
#import <Foundation/Foundation.h>
@interface UserCommon : NSObject
/// 计算消息发出的时间差
+ (NSString *)getMessageDateCompare:(NSString *)strDate;
@end
方法的实现
/// 计算消息发出的时间差
+ (NSString *)getMessageDateCompare:(NSString *)strDate{
// 获取现在的时间
NSDate *now = [NSDate date];
// 创建时间管理器
NSDateFormatter *fmt =[[NSDateFormatter alloc]init];
/* 1. 按照这个时间格式将时间截取成字符串
根据你时间字符串格式 规定时间格式
yyyy-MM-dd HH:mm:ss/yyyy-MM-dd /EEE MMM dd HH:mm:ss Z yyyy(Tue Sep 30 17:06:25 +0800 2014)
*/
fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
/* 2. 将时间字符串转化成时间*/
NSDate *fromdate=[fmt dateFromString:strDate];
/* 3.创建个日历 进行比较时间的间隔*/
NSCalendar *calendar = [NSCalendar currentCalendar];
// 确定返回什么时间的的参数(是个枚举值,你可以取你想要的格式,年月日,时分秒,周,星期等)
NSCalendarUnit unit = NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// 两个时间点距离的时间段
NSDateComponents *cmps = [calendar components:unit fromDate: fromdate toDate:now options:0];
// 返回的时分秒 (这里你也可以直接返回一个NSUInteger类型的数字)
if (cmps.day >=1) {
return [NSString stringWithFormat:@"%zd天前",cmps.day];
}else if(cmps.hour >= 1){
return [NSString stringWithFormat:@"%zd小时前",cmps.hour];
}else if(cmps.minute >= 1){
return [NSString stringWithFormat:@"%zd分钟前",cmps.minute];
}else{
return [NSString stringWithFormat:@"%zd秒前",cmps.second];
}
}
方法的调用
// 时间处理
if ([[dict objectForKey:@"SEND_TIME"] isEqual:[NSNull null]]) {
[cell.messageDate removeFromSuperview];
}else{
cell.messageDate.text = [UserCommon getMessageDateCompare:[dict objectForKey:@"SEND_TIME"]];
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。