// 獲取當(dāng)前周的周一和周日的時(shí)間
- (NSString *)getWeekTime
{
NSDate *nowDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:nowDate];
// 獲取今天是周幾
NSInteger weekDay = [comp weekday];
// 獲取幾天是幾號(hào)
NSInteger day = [comp day];
NSLog(@"%ld----%ld",weekDay,day);
// 計(jì)算當(dāng)前日期和本周的星期一和星期天相差天數(shù)
long firstDiff,lastDiff;
// weekDay = 1;
if (weekDay == 1)
{
firstDiff = -6;
lastDiff = 0;
}
else
{
firstDiff = [calendar firstWeekday] - weekDay + 1;
lastDiff = 8 - weekDay;
}
NSLog(@"firstDiff: %ld lastDiff: %ld",firstDiff,lastDiff);
// 在當(dāng)前日期(去掉時(shí)分秒)基礎(chǔ)上加上差的天數(shù)
NSDateComponents *firstDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:nowDate];
[firstDayComp setDay:day + firstDiff];
NSDate *firstDayOfWeek = [calendar dateFromComponents:firstDayComp];
NSDateComponents *lastDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:nowDate];
[lastDayComp setDay:day + lastDiff];
NSDate *lastDayOfWeek = [calendar dateFromComponents:lastDayComp];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM月dd日"];
NSString *firstDay = [formatter stringFromDate:firstDayOfWeek];
NSString *lastDay = [formatter stringFromDate:lastDayOfWeek];
NSLog(@"%@=======%@",firstDay,lastDay);
NSString *dateStr = [NSString stringWithFormat:@"%@-%@",firstDay,lastDay];
return dateStr;
}
參考文獻(xiàn):
獲取當(dāng)前周的的周一和周日的時(shí)間