日期分类

- (NSDateComponents *)componentsOfDay {


    return [[NSCalendar currentCalendar]components:NSCalendarUnitYear | NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: self];

}


- (BOOL)isEqualToDateIgnorTime:(NSDate *)date

{

    NSDateComponents *components = [self componentsOfDay];

    NSDateComponents *componentd = [date componentsOfDay];

    return (componentd.year == components.year && components.month == componentd.month && components.day == componentd.day);

}


- (NSString *)stringWithExcludeThisYear {

    BOOL isThisYear =NO;

    NSDate *nowDate = [NSDate date];

    if ([nowDate componentsOfDay].year != [self componentsOfDay].year) {

        isThisYear =NO;

    }else{

        isThisYear =YES;

    }

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

    if (isThisYear) {

        [formatter setDateFormat:@"MMdd"];

    }else{

        [formatter setDateFormat:@"yyyyMMdd"];

    }

    return [formatter stringFromDate:self];

}


//判断是否是今天

- (BOOL)isToday {

    NSDate *date = [NSDate date];

    

    return [self isEqualToDateIgnorTime:date];

}


//判断是否是昨天

- (BOOL)isYesterDay {

    NSTimeInterval time = [[NSDate date]timeIntervalSince1970]-24*60*60;

    NSDate *yesterDayDate = [NSDate dateWithTimeIntervalSince1970:time];

    return [self isEqualToDateIgnorTime:yesterDayDate];

}


+(NSString *)stringWithTimeInterval:(NSTimeInterval)time {

    NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];

    NSInteger hour = [date componentsOfDay].hour;

    NSInteger minute = [date componentsOfDay].minute;

    NSTimeInterval nowTime = [[NSDate date]timeIntervalSince1970];

    

    if (nowTime - time>=7*24*60*60) {

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

        [formatter setDateFormat:@"yyyyMMdd HH:mm"];

        return [formatter stringFromDate:date];

    }else{

        if ([date isToday]) {

            return [NSString stringWithFormat:@"今天 %ld:%ld",hour,minute];

        }else if ([date isYesterDay]){

            return [NSString stringWithFormat:@"昨天 %ld:%ld",hour,minute];

        }else{

            NSArray *weekInfo = @[@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六"];

            NSInteger weekDay = [date componentsOfDay].weekday;

            NSString *weekString = weekInfo[weekDay -1];

            return [NSString stringWithFormat:@"%@ %ld:%ld",weekString, hour,minute];

        }

    }

}



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值