標籤:style blog color os io for ar div
得到每周 星期一零點(即本周的開始) 和星期天 24 點(即本周的結束和下一周的開始)的時間
NSDate *now = [NSDate date];NSCalendar *calendar = [NSCalendar currentCalendar];NSDateComponents *comp = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit|NSDayCalendarUnit fromDate:now]; // 得到星期幾// 1(星期天) 2(星期二) 3(星期三) 4(星期四) 5(星期五) 6(星期六) 7(星期天)NSInteger weekDay = [comp weekday];// 得到幾號NSInteger day = [comp day];NSLog(@"weekDay:%ld day:%ld",weekDay,day); // 計算當前日期和這周的星期一和星期天差的天數long firstDiff,lastDiff;if (weekDay == 1) { firstDiff = 1; lastDiff = 0;}else{ firstDiff = [calendar firstWeekday] - weekDay; lastDiff = 9 - weekDay;}NSLog(@"firstDiff:%ld lastDiff:%ld",firstDiff,lastDiff); // 在當前日期(去掉了時分秒)基礎上加上差的天數NSDateComponents *firstDayComp = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];[firstDayComp setDay:day + firstDiff];NSDate *firstDayOfWeek= [calendar dateFromComponents:firstDayComp];NSDateComponents *lastDayComp = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];[lastDayComp setDay:day + lastDiff];NSDate *lastDayOfWeek= [calendar dateFromComponents:lastDayComp];NSDateFormatter *formater = [[NSDateFormatter alloc] init];[formater setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSLog(@"星期一開始 %@",[formater stringFromDate:firstDayOfWeek]);NSLog(@"當前 %@",[formater stringFromDate:now]);NSLog(@"星期天結束 %@",[formater stringFromDate:lastDayOfWeek]);