IOS 计算本周的起至日期

unsigned units=NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit|NSWeekdayCalendarUnit;        NSCalendar *mycal=[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];

    NSDate *now=[NSDate date];

    NSDateComponents *comp =[mycal components:units fromDate:now];

    NSInteger month=[comp month];

    NSInteger year =[comp year];

    NSInteger day=[comp day];

    NSCalendar *gregorian = [NSCalendar currentCalendar];

    NSDateComponents *dateComps = [gregorian components:NSWeekdayCalendarUnit fromDate:now];

    int daycount = [dateComps weekday] - 2;

    NSDate *weekdaybegin=[now addTimeInterval:-daycount*60*60*24];

    NSDate *weekdayend  =[now  addTimeInterval:(6-daycount)*60*60*24];

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

    NSLocale *mylocal=[[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];

    [df1 setLocale:mylocal];

    [df1 setDateFormat:@"YYYY-MM-d"];

    

    now=weekdaybegin;

    comp=[mycal components:units fromDate:now];

    month=[comp month];

    year =[comp year];

    day=[comp day];

    NSString *date1=[[NSString alloc]initWithFormat:@"%d-%02d-%02d",year,month,day];//所要求的周一的日期

    now=weekdayend;

    comp=[mycal components:units fromDate:now];

    month=[comp month];

    year =[comp year];

    day=[comp day];

    NSString *date2=[[NSString alloc]initWithFormat:@"%d-%02d-%02d",year,month,day];//所要求的周日的日期

 

你可能感兴趣的:(ios)