iOS怎么判断两个日期在同一周

解决方案 »

  1.   

    NSDate *date = [NSDate date];
    NSCalendar*calendar = [NSCalendar currentCalendar];
    NSDateComponents *comps = [calendar components:(NSWeekCalendarUnit | NSWeekdayCalendarUnit |NSWeekdayOrdinalCalendarUnit) fromDate:date]
    NSInteger week = [comps week];
      

  2.   

    struct DateTime  
    {  
    int year;  
    int month;  
    int day;  
    int weekday;  //days since Sunday - [0, 6]  
    int hour;  
    int minute;  
    int second;  
    };bool IsBetweenOneWeek(DateTime dt1, DateTime dt2)  
    {  
        int diff, weekDay;  
        DateTime LaterDt;  
        if (dt.day < dt2.day)  // diff为较早日期减去较晚日期的差值  
        {  
            diff = dt1.day - dt2.day;  
        }  
        else  
        {  
            diff = dt2.day - dt1.day;  
        }  
        if (abs(diff) > 6)      // 相差天数大于6天,必然不在一周内  
        {  
            return false;  
        }  
      
        LaterDt = dt1.day > dt2.day ? dt1 : dt2;  // 取得较晚的日期  
        weekDay = LaterDt.weekday;  
        if (((diff + weekDay) < 0) || ((diff + weekDay) > 6))  
        {  
            return false;  
        }  
        return true;  
    }