34、[|34、[ iOS ] 与当前时间比较(显示-昨天、刚刚、今天等)
【34、[|34、[ iOS ] 与当前时间比较(显示-昨天、刚刚、今天等)】和当前时间比较
1)1分钟以内 显示 : 刚刚
2)1小时以内 显示 : X分钟前
3)今天或者昨天 显示 : 今天 09:30 昨天 09:30
- 今年 显示 : 09-12
- 大于本年 显示 : 2013-09-09
- (NSString *)formateDate:(NSString *)dateString
{@try {// ------实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//这里的格式必须和DateString格式一致NSDate * nowDate = [NSDate date];
// ------将需要转换的时间转换成 NSDate 对象
NSDate * needFormatDate = [dateFormatter dateFromString:dateString];
// ------取当前时间和转换时间两个日期对象的时间间隔
NSTimeInterval time = [nowDate timeIntervalSinceDate:needFormatDate];
NSLog(@"time----%f",time);
// ------再然后,把间隔的秒数折算成天数和小时数:NSString *dateStr = [[NSString alloc] init];
if (time<=60) {//1分钟以内的dateStr = @"刚刚";
}else if(time<=60*60){//一个小时以内的int mins = time/60;
dateStr = [NSString stringWithFormat:@"%d分钟前",mins];
}else if(time<=60*60*24){//在两天内的[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString * need_yMd = [dateFormatter stringFromDate:needFormatDate];
NSString *now_yMd = [dateFormatter stringFromDate:nowDate];
[dateFormatter setDateFormat:@"HH:mm"];
if ([need_yMd isEqualToString:now_yMd]) {
//在同一天
dateStr = [NSString stringWithFormat:@"今天 %@",[dateFormatter stringFromDate:needFormatDate]];
}else{
//昨天
dateStr = [NSString stringWithFormat:@"昨天 %@",[dateFormatter stringFromDate:needFormatDate]];
}
}else {[dateFormatter setDateFormat:@"yyyy"];
NSString * yearStr = [dateFormatter stringFromDate:needFormatDate];
NSString *nowYear = [dateFormatter stringFromDate:nowDate];
if ([yearStr isEqualToString:nowYear]) {
//在同一年
[dateFormatter setDateFormat:@"MM-dd"];
dateStr = [dateFormatter stringFromDate:needFormatDate];
}else{
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
dateStr = [dateFormatter stringFromDate:needFormatDate];
}
}return dateStr;
}
@catch (NSException *exception) {
return @"";
}}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 第326天
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝