对server 返回的时间的封装处理

来源:互联网 发布:中国中车待遇知乎 编辑:程序博客网 时间:2024/05/22 04:36

根据项目要求,需要将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  = [timeLabelsubstringWithRange:NSMakeRange(0,4)];//2016

    NSString *hour  = [timeLabelsubstringWithRange:NSMakeRange(5,2)];//06

    NSString *minue = [timeLabelsubstringWithRange: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 = [hourstringByAppendingString:minue];//06281200

    NSString *severTime = [yearstringByAppendingString:MDT];//201606281200

    

    NSDateFormatter *fmt = [[NSDateFormatteralloc]init];

    [fmt setDateFormat:@"yyyyMMdd"];

    NSDate *serverDate = [fmtdateFromString:severTime];//server时间

    

    if ([severTimeisEqualToString:[fmt stringFromDate:[NSDatedate]]]) {

        timeLabel = [NSStringstringWithFormat:@"今天%@",time];

    }

    else{

        NSDateFormatter *df = [[NSDateFormatteralloc]init];

        [df setDateFormat:@"MMdd"];

        MDT = [df stringFromDate:serverDate];

        timeLabel = [MDT stringByAppendingString:time];

        

        if ([[MDTsubstringWithRange:NSMakeRange(0,1)] isEqualToString:@"0"]) {

            MDT =[MDT substringFromIndex:1];

            [df setDateFormat:@"Mdd"];

            MDT = [df stringFromDate:serverDate];

            timeLabel = [MDT stringByAppendingString:time];

            

            if ([[MDTsubstringWithRange:NSMakeRange(2,1)]isEqualToString:@"0"] ){

                [df setDateFormat:@"Md"];

                MDT = [df stringFromDate:serverDate];

                timeLabel = [MDT stringByAppendingString:time];

            }

        }

        elseif ([[MDT substringWithRange:NSMakeRange(3,1)]isEqualToString:@"0"] )

        {

            [df setDateFormat:@"MMd"];

            MDT = [df stringFromDate:serverDate];

        }

        

        timeLabel = [NSStringstringWithFormat:@"%@%@",MDT,time];

    }

    NSTimeInterval secondsPerDay =24 * 60 *60;

    NSDate *yesterday = [[NSDatealloc] initWithTimeIntervalSinceNow:-secondsPerDay];

    NSString *yesterDayStr = [fmtstringFromDate:yesterday];

    if ([severTimeisEqualToString:yesterDayStr]) {

        //昨天

        timeLabel = [NSStringstringWithFormat:@"昨天%@",time];

    }

    return timeLabel;

}




0 0