iOS日期比较

//日期1 设置为今天

NSDate* nowDate = [NSDate date];

//日期二 这里是我传入的一个时间,自行修改

    NSDate * msgDate = [NSDate dateWithTimeIntervalSince1970:msglastTime];

//设置日历单元,注意这个地方,后面自己要用到哪些参数就要设置进去

如NSCalendarUnitYear 是年,NSCalendarUnitDay是日等

    NSCalendarUnit components = (NSCalendarUnit)(NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday|NSCalendarUnitWeekOfMonth|NSCalendarUnitHour | NSCalendarUnitMinute);

//获取第一个时间的日历单元数据

    NSDateComponents *nowDateComponents = [[NSCalendar currentCalendar] components:components fromDate:nowDate];

//获取第二个时间的日历单元数据

    NSDateComponents *msgDateComponents = [[NSCalendar currentCalendar] components:components fromDate:msgDate];

//后面的比较通过两个日期的单元数据进行比较

    NSIntegerhour = msgDateComponents.hour;

    doubleOnedayTimeIntervalValue =24*60*60;  //一天的秒数

    //判断是否是同一月

    BOOLisSameMonth = (nowDateComponents.year== msgDateComponents.year) && (nowDateComponents.month== msgDateComponents.month);

    //同一周

    NSIntegerweekk = nowDateComponents.weekOfMonth;

    NSIntegerweekk2 = msgDateComponents.weekOfMonth;

    BOOL isSameWeek = (nowDateComponents.year== msgDateComponents.year) && (nowDateComponents.month== msgDateComponents.month)&&(nowDateComponents.weekOfMonth== msgDateComponents.weekOfMonth);

    //同天

    BOOL isSameDay = isSameMonth && (nowDateComponents.day== msgDateComponents.day);

    //昨天

    BOOL isYearsterday =NO;

    if(isSameWeek) {

        if(nowDateComponents.day== msgDateComponents.day+1) {

            isYearsterday =YES;

        }

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容