获取本周的第一天和最后一天

// MARK: - 获取本周的第一天和最后一天

  • (NSArray *)getFirstAndLastDayOfThisWeek
    {
    NSString *beginDateStr;
    NSString *endDateStr;
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

    NSDate *date=[NSDate date];
    NSCalendar *calendar=[NSCalendar currentCalendar];
    [calendar setFirstWeekday:2];//设定周一为周首日
    NSDateComponents *comps=[calendar components:(NSCalendarUnitWeekday|NSCalendarUnitWeekdayOrdinal) fromDate:date];
    //NSInteger week=[comps week];//今年第几周

    NSInteger weekday=[comps weekday];//注意 周日 是 “1”,周一是 “2”
    NSInteger theWeekDay=weekday-1;
    NSDate nowDate=[[NSDate alloc] init];
    if (theWeekDay==0) {//今天是星期天
    NSTimeInterval interval=24
    60606;//减6天
    NSDate *benginDate=[nowDate initWithTimeIntervalSinceNow:-interval];
    beginDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:benginDate]];
    endDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:date]];
    }else{

      NSTimeInterval benginInterval=-(theWeekDay-1)*24*60*60;//向前 减的毫秒数
      NSTimeInterval endInterval=+(7-theWeekDay)*24*60*60;//向后 加的毫秒数
      NSDate *beginDate=[nowDate initWithTimeIntervalSinceNow:benginInterval];
      NSDate *endDate=[nowDate initWithTimeIntervalSinceNow:endInterval];
      beginDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:beginDate]];
      endDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:endDate]];
    

    }

    return [NSArray arrayWithObjects:beginDateStr,endDateStr, nil];
    }

你可能感兴趣的:(获取本周的第一天和最后一天)