请查看以下代码行:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger weekNumber = [[calendar components: NSWeekCalendarUnit fromDate:date] week];
现在我们如何获得给定周数的第一天和最后一天(假设一周从星期一到星期日)。
如果有可能获得所有日期的数组属于同一周数。
请查看以下代码行:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger weekNumber = [[calendar components: NSWeekCalendarUnit fromDate:date] week];
现在我们如何获得给定周数的第一天和最后一天(假设一周从星期一到星期日)。
如果有可能获得所有日期的数组属于同一周数。
要获得一周的第一天,可以使用以下代码。
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger weekNumber = [[calendar components: NSWeekCalendarUnit fromDate:now] week];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:NSYearCalendarUnit fromDate:now];
[comp setWeek:weekNumber]; //Week number.
[comp setWeekday:1]; //First day of the week. Change it to 7 to get the last date of the week
NSDate *resultDate = [gregorian dateFromComponents:comp];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM d, yyyy"];
NSString *myDateString = [formatter stringFromDate:resultDate];
NSLog(@"%@",myDateString);
如上面代码中的注释,将setWeekday方法的参数更改为 7 以获取一周的最后一天。
一旦你有了一周的第一天和最后一天,你就可以得到下面链接中提到的所有日期。 两个日期之间的日期数组
注意:对于地区设置 UK,该周从星期一开始。
更改 iPhone 日历以将星期一显示为一周的第一天。1. 点击“设置” 2. 点击“常规” 3. 点击“国际” 4. 点击“区域格式” 5. 选择“英国”