对server 返回的时间的封装处理
2016-07-06 14:03
246 查看
根据项目要求,需要将server返回的时间数据进行处理,server 返回的时间格式为 2016-07-06 13:00
1,今天的话 要求为:今天 13:00
2,昨天的话 要求为: 昨天 13:00
3,昨天以前 要求为 : 7月6日 13:00
要求:不准出现 07月06日 13:00 ,即如果月日前不可出现0
以下是具体是实现代码
//对时间处理
- (NSString *)getTime :(NSString *)timeLabel
{
// timeLabel = @"2015-07-05 23:59";
if (timeLabel.length<11) {
return timeLabel;
}
NSString *year = [timeLabel
substringWithRange:NSMakeRange(0,
4)];//2016
NSString *hour = [timeLabel
substringWithRange:NSMakeRange(5,
2)];//06
NSString *minue = [timeLabel
substringWithRange:NSMakeRange(8,
2)];//29
NSString *time;
if (timeLabel.length==15) {
time = [timeLabel substringWithRange:NSMakeRange(10,
5)];//12:00
}
else{
time = [timeLabel substringWithRange:NSMakeRange(10,
6)];//12:00
}
NSString *MDT = [hour
stringByAppendingString:minue];//06281200
NSString *severTime = [year
stringByAppendingString:MDT];//201606281200
NSDateFormatter *fmt = [[NSDateFormatter
alloc]init];
[fmt setDateFormat:@"yyyyMMdd"];
NSDate *serverDate = [fmt
dateFromString:severTime];//server时间
if ([severTime
isEqualToString:[fmt
stringFromDate:[NSDate
date]]]) {
timeLabel = [NSString
stringWithFormat:@"今天%@",time];
}
else{
NSDateFormatter *df = [[NSDateFormatter
alloc]init];
[df setDateFormat:@"MM月dd日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
if ([[MDT
substringWithRange:NSMakeRange(0,
1)]
isEqualToString:@"0"]) {
MDT =[MDT substringFromIndex:1];
[df setDateFormat:@"M月dd日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
if ([[MDT
substringWithRange:NSMakeRange(2,
1)]isEqualToString:@"0"] ){
[df setDateFormat:@"M月d日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
}
}
else
if ([[MDT
substringWithRange:NSMakeRange(3,
1)]isEqualToString:@"0"] )
{
[df setDateFormat:@"MM月d日"];
MDT = [df stringFromDate:serverDate];
}
timeLabel = [NSString
stringWithFormat:@"%@%@",MDT,time];
}
NSTimeInterval secondsPerDay =
24 * 60 *
60;
NSDate *yesterday = [[NSDate
alloc] initWithTimeIntervalSinceNow:-secondsPerDay];
NSString *yesterDayStr = [fmt
stringFromDate:yesterday];
if ([severTime
isEqualToString:yesterDayStr]) {
//昨天
timeLabel = [NSString
stringWithFormat:@"昨天%@",time];
}
return timeLabel;
}
1,今天的话 要求为:今天 13:00
2,昨天的话 要求为: 昨天 13:00
3,昨天以前 要求为 : 7月6日 13:00
要求:不准出现 07月06日 13:00 ,即如果月日前不可出现0
以下是具体是实现代码
//对时间处理
- (NSString *)getTime :(NSString *)timeLabel
{
// timeLabel = @"2015-07-05 23:59";
if (timeLabel.length<11) {
return timeLabel;
}
NSString *year = [timeLabel
substringWithRange:NSMakeRange(0,
4)];//2016
NSString *hour = [timeLabel
substringWithRange:NSMakeRange(5,
2)];//06
NSString *minue = [timeLabel
substringWithRange:NSMakeRange(8,
2)];//29
NSString *time;
if (timeLabel.length==15) {
time = [timeLabel substringWithRange:NSMakeRange(10,
5)];//12:00
}
else{
time = [timeLabel substringWithRange:NSMakeRange(10,
6)];//12:00
}
NSString *MDT = [hour
stringByAppendingString:minue];//06281200
NSString *severTime = [year
stringByAppendingString:MDT];//201606281200
NSDateFormatter *fmt = [[NSDateFormatter
alloc]init];
[fmt setDateFormat:@"yyyyMMdd"];
NSDate *serverDate = [fmt
dateFromString:severTime];//server时间
if ([severTime
isEqualToString:[fmt
stringFromDate:[NSDate
date]]]) {
timeLabel = [NSString
stringWithFormat:@"今天%@",time];
}
else{
NSDateFormatter *df = [[NSDateFormatter
alloc]init];
[df setDateFormat:@"MM月dd日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
if ([[MDT
substringWithRange:NSMakeRange(0,
1)]
isEqualToString:@"0"]) {
MDT =[MDT substringFromIndex:1];
[df setDateFormat:@"M月dd日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
if ([[MDT
substringWithRange:NSMakeRange(2,
1)]isEqualToString:@"0"] ){
[df setDateFormat:@"M月d日"];
MDT = [df stringFromDate:serverDate];
timeLabel = [MDT stringByAppendingString:time];
}
}
else
if ([[MDT
substringWithRange:NSMakeRange(3,
1)]isEqualToString:@"0"] )
{
[df setDateFormat:@"MM月d日"];
MDT = [df stringFromDate:serverDate];
}
timeLabel = [NSString
stringWithFormat:@"%@%@",MDT,time];
}
NSTimeInterval secondsPerDay =
24 * 60 *
60;
NSDate *yesterday = [[NSDate
alloc] initWithTimeIntervalSinceNow:-secondsPerDay];
NSString *yesterDayStr = [fmt
stringFromDate:yesterday];
if ([severTime
isEqualToString:yesterDayStr]) {
//昨天
timeLabel = [NSString
stringWithFormat:@"昨天%@",time];
}
return timeLabel;
}
相关文章推荐
- 图片自动缩放,前台读富文本编辑器里图片用的
- Qt之qInstallMessageHandler(重定向至文件)
- python break,pass,continue 循环语句
- Qt之qInstallMessageHandler(重定向至文件)
- ANR log分析
- 布隆过滤器
- 使用jdbc的基本步骤
- 处理大并发之二 对epoll的理解,epoll客户端服务端代码
- @OneToMany或@ManyToOne的用法-annotation关系映射篇(上)
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
- ListView Item多种布局优化
- Linux后台进程管理
- 怎样用ZBrush雕刻人体造型
- 腾讯管家与本地运行的jquery冲突,影响页面请求速度
- 三星将提升资本支出 维持手机业务复兴势头
- docker小用有感
- Java类型限界
- python for 循环
- 百度搜索Spider3.0对于网站优化有什么利好
- 解决QCombobox调用clear()崩溃的问题