iOS 获取七天日期及星期几
2020-03-13 本文已影响0人
冰点雨
获取当前日期开始的七天日期
//获取当前日期开始的七天日期
-(NSMutableArray *)getCurrentDayToLastServeDay{
NSMutableArray *weekArr = [[NSMutableArray alloc] init];
NSDate *nowDate = [NSDate date];
//计算从当前日期开始的七天日期
for (int i = 0; i < 7; i ++) {
//从现在开始的24小时
NSTimeInterval secondsPerDay = i * 24*60*60;
NSDate *curDate = [NSDate dateWithTimeInterval:secondsPerDay sinceDate:nowDate];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"M月d日"];
NSString *dateStr = [dateFormatter stringFromDate:curDate];//几月几号
//自定义星期显示
dateFormatter.weekdaySymbols = @[@"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六"];
//自定义日期显示
dateFormatter.dateFormat = @" EEEE";
NSString *weekStr = [dateFormatter stringFromDate:curDate];
NSDictionary *dic = @{@"day":dateStr,@"week":weekStr};
// NSString *strTime = [NSString stringWithFormat:@"%@%@",dateStr,weekStr];
// NSLog(@"%@--%@",strTime,weekStr);
[weekArr addObject:dic];
}
return weekArr;
}
获取本周七天日期
-(NSMutableArray *)latelyEightTime{
NSMutableArray *weekArr = [[NSMutableArray alloc] init];
NSDate *nowDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday fromDate:nowDate];
// 获取今天是周几
NSInteger weekDay = [comp weekday];
// 获取几天是几号
NSInteger day = [comp day];
// 计算当前日期和本周的星期一和星期天相差天数
long first,last;
if (weekDay == 1){
first = -6;
last = 0;
}
else{
first = [calendar firstWeekday] - weekDay + 1;
last = 8 - weekDay;
}
NSDateComponents *baseDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:nowDate];
//获取周一日期
[baseDayComp setDay:day + first];
NSDate *firstDayOfWeek = [calendar dateFromComponents:baseDayComp];
//计算从周一开始的七天日期
for (int i = 0; i < 7; i ++) {
//从现在开始的24小时
NSTimeInterval secondsPerDay = i * 24*60*60;
NSDate *curDate = [NSDate dateWithTimeInterval:secondsPerDay sinceDate:firstDayOfWeek];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"M.d"];
NSString *dateStr = [dateFormatter stringFromDate:curDate];//几月几号
//自定义星期显示
dateFormatter.weekdaySymbols = @[@"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六"];
//自定义日期显示
dateFormatter.dateFormat = @" EEEE";
NSString *weekStr = [dateFormatter stringFromDate:curDate];
NSDictionary *dic = @{@"day":dateStr,@"week":weekStr};
[weekArr addObject: dic];
}
return weekArr;
}