您的位置:首页 > 其它

对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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: