要獲得星期的第一天,可以使用以下代碼。
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拿到一週的最後一天。
一旦你有第一天和一週的最後一天,你可以得到所有的日期,如下面的鏈接所述。 Array for dates between two dates
注意:從週一開始,該地區設置英國。
更改iPhone日曆以顯示星期一作爲一週的第一天。 1.點擊「設置」 2.點擊「常規」 3.點擊「國際」 4.點擊「區域格式」 5.選擇「聯合王國」