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

// 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];
    }

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

推荐阅读更多精彩内容