时间转换成昨天,今天,明天的形式
2016-05-24 15:31
429 查看
* 仿QQ空间时间显示 * @param string eg:2015年5月24日 02时21分30秒 */ - (NSString *)format:(NSString *)string{ NSDateFormatter *inputFormatter= [[NSDateFormatter alloc] init]; [inputFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] ]; [inputFormatter setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"]; NSDate*inputDate = [inputFormatter dateFromString:string]; //NSLog(@"startDate= %@", inputDate); NSDateFormatter *outputFormatter= [[NSDateFormatter alloc] init]; [outputFormatter setLocale:[NSLocale currentLocale]]; [outputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //get date str NSString *str= [outputFormatter stringFromDate:inputDate]; //str to nsdate NSDate *strDate = [outputFormatter dateFromString:str]; //修正8小时的差时 NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: strDate]; NSDate *endDate = [strDate dateByAddingTimeInterval: interval]; //NSLog(@"endDate:%@",endDate); NSString *lastTime = [self compareDate:endDate]; NSLog(@"lastTime = %@",lastTime); return str; } -(NSString *)compareDate:(NSDate *)date{ NSTimeInterval secondsPerDay = 24 * 60 * 60; //修正8小时之差 NSDate *date1 = [NSDate date]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: date1]; NSDate *localeDate = [date1 dateByAddingTimeInterval: interval]; //NSLog(@"nowdate=%@\nolddate = %@",localeDate,date); NSDate *today = localeDate; NSDate *yesterday,*beforeOfYesterday; //今年 NSString *toYears; toYears = [[today description] substringToIndex:4]; yesterday = [today dateByAddingTimeInterval: -secondsPerDay]; beforeOfYesterday = [yesterday dateByAddingTimeInterval: -secondsPerDay]; // 10 first characters of description is the calendar date: NSString *todayString = [[today description] substringToIndex:10]; NSString *yesterdayString = [[yesterday description] substringToIndex:10]; NSString *beforeOfYesterdayString = [[beforeOfYesterday description] substringToIndex:10]; NSString *dateString = [[date description] substringToIndex:10]; NSString *dateYears = [[date description] substringToIndex:4]; NSString *dateContent; if ([dateYears isEqualToString:toYears]) {//同一年 //今 昨 前天的时间 NSString *time = [[date description] substringWithRange:(NSRange){11,5}]; //其他时间 NSString *time2 = [[date description] substringWithRange:(NSRange){5,11}]; if ([dateString isEqualToString:todayString]){ dateContent = [NSString stringWithFormat:@"今天 %@",time]; return dateContent; } else if ([dateString isEqualToString:yesterdayString]){ dateContent = [NSString stringWithFormat:@"昨天 %@",time]; return dateContent; }else if ([dateString isEqualToString:beforeOfYesterdayString]){ dateContent = [NSString stringWithFormat:@"前天 %@",time]; return dateContent; }else{ return time2; } }else{ return dateString; } }
相关文章推荐
- Mybatis 多对多表关联
- Android 随机生成4位数 仿验证码
- 保留两位小数
- Struts2与easyui分页查询
- php基于搜索引擎的资源嗅探器
- IOS 处理 GET请求和POST请求
- 怎样让我的MFC程序只能运行一个实例?
- Cordova for iOS-插件开发(二)
- Android设计模式源码解析之外观模式(Facade)
- 闽江学院2015-2016学年下学期《软件测试》课程-第四次博客作业
- 在网页上显示当前日期
- kafka深入理解
- 样式命名规范
- Hbase shell 常用命令
- Virtualbox扩容C盘
- Socket文章
- 《剑指offer》:[4]合并两个单链表
- python 实现将字典写入csv文件
- 数据库的2PL两段锁协议与范式
- FAQ-filezilla 连接超时