美文网首页
获取本周的所有日期(从周一到周日)

获取本周的所有日期(从周一到周日)

作者: 流浪者123 | 来源:发表于2016-11-18 09:28 被阅读0次
// 获取当前一周的日期
- (NSArray *)getWeekTime
{
    NSMutableArray *weekArray = [NSMutableArray arrayWithCapacity:7];
    
    NSDate *nowDate = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *comp = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit fromDate:nowDate];
    // 获取今天是周几
    // 1(星期天) 2(星期一) 3(星期二) 4(星期三) 5(星期四) 6(星期五) 7(星期六)
    NSInteger weekDay = [comp weekday];
    
    // 获取几天是几号
    NSInteger day = [comp day];
    
    if (weekDay == 1)
    {
        for (int i = 7; i >=1; i --)
        {
            // 在当前日期(去掉时分秒)基础上加上差的天数
            NSDateComponents *weekComp = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit  fromDate:nowDate];
            
            //由于weekDay是一周的最后一天,所以减去7得到周一
            [weekComp setDay:day + (weekDay - i)];
            NSDate *dayOfWeek = [calendar dateFromComponents:weekComp];
            
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"MM.dd"];
            
            NSString *dayString = [formatter stringFromDate:dayOfWeek];
            [weekArray addObject:dayString];
        }
    }
    else
    {
        for (int i = 2; i <= 8; i ++)
        {
            NSDateComponents *weekComp = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit  fromDate:nowDate];
            [weekComp setDay:day + (i - weekDay)];
            NSDate *dayOfWeek = [calendar dateFromComponents:weekComp];
            
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"MM.dd"];
            
            NSString *dayString = [formatter stringFromDate:dayOfWeek];
            [weekArray addObject:dayString];
        }
    }
    return weekArray;
}

相关文章

网友评论

      本文标题:获取本周的所有日期(从周一到周日)

      本文链接:https://www.haomeiwen.com/subject/yapjpttx.html