IOS 獲取全年所有周的周一和周日

- (NSArray *)getAllWeekDate

{

NSDate *nowDate = [NSDate date];

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *comp = [calendar components: NSCalendarUnitWeekday | NSCalendarUnitWeekOfYear fromDate:nowDate];

// 獲取今天是周幾 (周一是2,周日是1)

NSInteger weekDay = [comp weekday];

//這周是今年的第幾周(注意:第一周編號為1不為0)

NSInteger weekOfYear = [comp weekOfYear];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"yyyyMMdd"];

NSDate *date = [formatter dateFromString:[formatter stringFromDate:[NSDate date]]];

//這周的開始和結束時間 (注意:+1 -1 避開臨界值)

NSDate *startdate = [date dateByAddingTimeInterval:24*3600*(2 - weekDay)+1];

NSDate *enddate = [date dateByAddingTimeInterval:24*3600*(9 - weekDay)-1];

NSMutableArray *dateArray = [[[NSMutableArray alloc] init] mutableCopy];

//一年52周? 獲取一年的所有周一和周日的日期(注意:第一周編號為1不為0)

for (int i = 1; i <= 52; i++) {

NSDate *startdate1 = [startdate dateByAddingTimeInterval:24*3600*7*(i-weekOfYear)];

NSDate *enddate1 = [enddate dateByAddingTimeInterval:24*3600*7*(i-weekOfYear)];

[dateArray addObject:@[startdate1,enddate1]];

}

return dateArray;

}


嘿嘿嘿,寫下來,再用的時候不用寫了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容