码迷,mamicode.com
首页 > 其他好文 > 详细

根据日期计算发布时间段(NSCalendar)

时间:2017-03-25 16:38:23      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:ring   back   oda   str   options   omd   其他   1.0   test   

// 返回发布时间dateWithString

- (NSString *)backReleaseTimeWithDateStr:(NSString *)dateWithString{

    // 获取当前NSCalendar

    NSCalendar *calendar = [NSCalendar currentCalendar];

    // 设置日期格式

    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];

    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    //入参 发布日期

    NSDate *releaseTimer = [formatter dateFromString:dateWithString];

    

    if ([calendar isDateInToday:releaseTimer]) { // 今天

        //当前时间

        NSDate *nowDate = [NSDate date];

        // 获得日期之间的间隔

        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

        NSDateComponents *components = [calendar components:unit fromDate:releaseTimer toDate:nowDate options:0];

        

        if (components.hour >= 1) {

//            formatter.dateFormat = @"今天 HH:mm";

//            return [formatter stringFromDate:releaseTimer];

            return [NSString stringWithFormat:@"%zd小时前",components.hour];

        }else if(components.minute >= 1){

            return [NSString stringWithFormat:@"%zd分钟前",components.minute];

        }else{

            return @"刚刚";

        }

    }else if([calendar isDateInYesterday:releaseTimer]){  // 昨天

        formatter.dateFormat = @"昨天 HH:mm";

        return [formatter stringFromDate:releaseTimer];

    }else// 其他

        formatter.dateFormat = @"MM-dd HH:mm";

        return [formatter stringFromDate:releaseTimer];

    }

    return dateWithString;

}

根据日期计算发布时间段(NSCalendar)

标签:ring   back   oda   str   options   omd   其他   1.0   test   

原文地址:http://www.cnblogs.com/dujiahong/p/6617363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!