nsdate转nsstring

来源:互联网 发布:linux 静态ip连接外网 编辑:程序博客网 时间:2024/04/30 13:54

- (NSString *)formateDate:(NSDate *)Date

{

    @try {

        //实例化一个NSDateFormatter对象

        NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];

        [dateFormatter setDateFormat:@"EEE MMM d HH:mm:ss Z yyyy"];

        

        NSDate * nowDate = [NSDatedate];

        

        /////  将需要转换的时间转换成 NSDate对象

        /////  取当前时间和转换时间两个日期对象的时间间隔

        /////  这里的NSTimeInterval并不是对象,是基本型,其实是double类型,是由c定义的:  typedef double NSTimeInterval;

        NSTimeInterval time = [nowDatetimeIntervalSinceDate:Date];

        

        //// 再然后,把间隔的秒数折算成天数和小时数:

        

        NSString *dateStr =@"";

        

        if (time<=60) { //// 1分钟以内的

            dateStr = @"刚刚";

        }elseif(time<=60*60){ ////  一个小时以内的

            

            int mins = time/60;

            dateStr = [NSStringstringWithFormat:@"%d分钟前",mins];

            

        }elseif(time<=60*60*24){  //// 在两天内的

            

            [dateFormatter setDateFormat:@"YYYY/MM/dd"];

            NSString * need_yMd = [dateFormatterstringFromDate:Date];

            NSString *now_yMd = [dateFormatterstringFromDate:nowDate];

            

            [dateFormatter setDateFormat:@"HH:mm"];

            if ([need_yMdisEqualToString:now_yMd]) {

                //// 在同一天

                dateStr = [NSStringstringWithFormat:@"今天 %@",[dateFormatterstringFromDate:Date]];

            }else{

                ////  昨天

                dateStr = [NSStringstringWithFormat:@"昨天 %@",[dateFormatterstringFromDate:Date]];

            }

        }else {

            

            [dateFormatter setDateFormat:@"yyyy"];

            NSString * yearStr = [dateFormatterstringFromDate:Date];

            NSString *nowYear = [dateFormatterstringFromDate:nowDate];

            

            if ([yearStrisEqualToString:nowYear]) {

                ////  在同一年

                [dateFormatter setDateFormat:@"MMdd"];

                dateStr = [dateFormatter stringFromDate:Date];

            }else{

                [dateFormatter setDateFormat:@"yyyy/MM/dd"];

                dateStr = [dateFormatter stringFromDate:Date];

            }

        }

        

        return dateStr;

    }

    @catch (NSException *exception) {

        return@"";

    }

}

0 0