#pragma mark - date转字符串
-(NSString *)DateToString:(NSDate *)date{
NSDateFormatter *formatter = [[NSDateFormatteralloc]init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString *newDataStr = [formatterstringFromDate:date];
return newDataStr;
}
#pragma mark -字符串转date
-(NSDate *)stringTodate:(NSString *)dateStr{
NSDateFormatter *format = [[NSDateFormatteralloc]init];
format.dateFormat =@"yyyy-MM";
NSDate *date = [formatdateFromString:dateStr];
return date;
}
#pragma mark - 获取上月或者下个月
- (void)setupRequestMonth:(NSString *)currentDateStr{
NSDate *currentDate = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatteralloc]init];
[formatter setDateFormat:@"yyyy-MM"];
NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *lastMonthComps = [[NSDateComponentsalloc]init];
// [lastMonthComps setYear:1]; // year = 1表示1年后的时间 year = -1为1年前的日期,month day类推
[lastMonthComps setMonth:-1];//传1就是下一个月
NSDate *newdate = [calendardateByAddingComponents:lastMonthCompstoDate:currentDateoptions:0];
NSString *dateStr = [formatterstringFromDate:newdate];
NSLog(@"date str = %@", dateStr);
}
#pragma mark - 获取当月的第一天和最后一天
- (NSString *)getMonthBeginAndEndWith:(NSString *)dateStr{
NSDateFormatter *format=[[NSDateFormatteralloc]init];
[format setDateFormat:@"yyyy-MM"];
NSDate *newDate=[formatdateFromString:dateStr];
double interval =0;
NSDate *beginDate =nil;
NSDate *endDate =nil;
NSCalendar *calendar = [NSCalendarcurrentCalendar];
[calendar setFirstWeekday:2];//设定周一为周首日
BOOL ok = [calendarrangeOfUnit:NSMonthCalendarUnitstartDate:&beginDateinterval:&interval forDate:newDate];
//分别修改为 NSDayCalendarUnit NSWeekCalendarUnit NSYearCalendarUnit
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
}else {
return@"";
}
NSDateFormatter *myDateFormatter = [[NSDateFormatteralloc]init];
[myDateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *beginString = [myDateFormatterstringFromDate:beginDate];
NSString *endString = [myDateFormatterstringFromDate:endDate];
NSString *s = [NSStringstringWithFormat:@"%@----%@",beginString,endString];
return s;
}