/获取当前周 起止日期
-(NSString*)getWeekBeginAndEnd{
NSString *resultStr;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date=[NSDate date];
NSCalendar *calendar=[NSCalendar currentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
NSDateComponents *comps=[calendar components:(NSWeekdayCalendarUnit|NSWeekdayOrdinalCalendarUnit) fromDate:date];
//NSInteger week=[comps week];//今年第几周
NSInteger weekday=[comps weekday];//注意 周日 是 “1”,周一是 “2”
NSInteger theWeekDay=weekday-1;
NSDate *nowDate=[[NSDate alloc] init];
if (theWeekDay==0) {//今天是星期天
NSTimeInterval interval=24*60*60*6;//减6天
NSDate *benginDate=[nowDate initWithTimeIntervalSinceNow:-interval];
NSString *beginDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:benginDate]];
NSString *endDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:date]];
resultStr=[NSString stringWithFormat:@"%@,%@",beginDateStr,endDateStr];
}else{
NSTimeInterval benginInterval=-(theWeekDay-1)*24*60*60;//向前 减的毫秒数
NSTimeInterval endInterval=+(7-theWeekDay)*24*60*60;//向后 加的毫秒数
NSDate *beginDate=[nowDate initWithTimeIntervalSinceNow:benginInterval];
NSDate *endDate=[nowDate initWithTimeIntervalSinceNow:endInterval];
NSString *beginDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:beginDate]];
NSString *endDateStr=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:endDate]];
resultStr=[NSString stringWithFormat:@"%@,%@",beginDateStr,endDateStr];
}
return resultStr;
}
//根据当前日期获取 本月 起止日期
- (NSString*)getMonthBeginAndEndWith:(NSDate *)newDate{
NSString *resultStr;
if (newDate == nil) {
newDate = [NSDate date];
}
double interval = 0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
BOOL ok = [calendar rangeOfUnit:NSMonthCalendarUnit startDate:&beginDate interval:&interval forDate:newDate];
//分别修改为 NSDayCalendarUnit NSWeekCalendarUnit NSYearCalendarUnit
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
}else {
resultStr=[NSString stringWithFormat:@"%@,%@",newDate,newDate];
return resultStr;
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *beginString = [myDateFormatter stringFromDate:beginDate];
NSString *endString = [myDateFormatter stringFromDate:endDate];
resultStr=[NSString stringWithFormat:@"%@,%@",beginString,endString];
return resultStr;
}