我已经按当月顺序列出了生日列表(八月,九月....七月)
我计算了当前日期和生日列表日期之间的天数。
在 ViewDidLoad 方法中
NSDateFormatter *curdatemonthnoformatter = [[NSDateFormatter alloc] init];
[curdatemonthnoformatter setDateStyle:NSDateFormatterMediumStyle];
[curdatemonthnoformatter setDateFormat:@"dd-MM"];
NSString * curdatemonthnostring = [curdatemonthnoformatter stringFromDate:[NSDate date]];
[curdatemonthnoformatter release];
NSDateFormatter *tempFormatter = [[NSDateFormatter alloc]init];
[tempFormatter setDateFormat:@"dd-MM"];
NSDate *startdate = [tempFormatter dateFromString:curdatemonthnostring];
NSLog(@"%@",startdate);
[tempFormatter release];
NSLog(@"%@",curdatemonthnostring);
for (int val=0; val<[monthlistArray count]; val++)
{
NSMutableArray * dataarraylocal = [[[NSMutableArray alloc]initWithCapacity:0]autorelease];
for (int ival=0; ival<[[monthdataArray objectAtIndex:val]count]; ival++)
{
NSString *birthdatestr=[NSString stringWithFormat:@"%@",[[[monthdataArray objectAtIndex:val]objectAtIndex:ival]objectForKey:@"birthday"]];
NSDate *mybirthdate=[formatter dateFromString:birthdatestr];
NSDateFormatter *birthdatemonthFormatter = [[NSDateFormatter alloc] init];
[birthdatemonthFormatter setDateStyle:NSDateFormatterMediumStyle];
[birthdatemonthFormatter setDateFormat:@"dd-MM"];
NSString *sortmonthstr = [birthdatemonthFormatter stringFromDate:mybirthdate];
NSDateFormatter *tempFormatter1 = [[[NSDateFormatter alloc]init]autorelease];
[tempFormatter1 setDateFormat:@"dd-MM"];
NSDate *toDate = [tempFormatter1 dateFromString:sortmonthstr];
[dataarraylocal addObject:toDate];
}
[previouscomparearray addObject:dataarraylocal];
}
NSLog(@"%@",previouscomparearray);
for (int ival=0; ival<[monthlistArray count]; ival++)
{
NSMutableArray *nofdayslocal=[[NSMutableArray alloc]initWithCapacity:0];
for (int jval=0; jval<[[monthdataArray objectAtIndex:ival]count]; jval++)
{
unsigned flags = NSDayCalendarUnit;
NSDateComponents *difference = [[NSCalendar currentCalendar] components:flags fromDate:startdate toDate:[[previouscomparearray objectAtIndex:ival]objectAtIndex:jval] options:0];
int dayDiff = [difference day];
NSLog(@"%d",dayDiff);
[nofdayslocal addObject:[NSNumber numberWithInt:dayDiff]];
}
[comparedatearray addObjectsFromArray:nofdayslocal];
}
NSLog(@"%@",comparedatearray);
输出:
"-8",
"-5",
"-1",
31,
83,
115,
"-220",
"-154",
"-154",
"-130",
"-90",
"-80",
"-73",
"-68",
"-63",
"-44",
"-42"
它是在当年计算的。我想在 12 月之后它会根据明年计算。
任何想法请帮助我。