我试图比较日期,但它不能与2012年1月1日比较像31日 - 12月2011日。我试图在2011年12月31日以及2012年1月1日之前删除任何其他值。这里我是这样做的:我想在今天的日期和即将到来的日期显示值。比较日期
-(void)showcurrentdate
{
NSDate *objdate=[NSDate date];
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"dd-MM-YYYY"];
NSDate *str1= (NSDate *)[dateformatter stringFromDate:objdate];
NSLog(@"configuregameArray......%d",[configuregameArray count]);
if([configuregameArray count]>=1)
{
NSMutableArray* indexarray= [[NSMutableArray alloc]init];
for(int k =0; k<[configuregameArray count]; k++)
{
NSDate *datefromarray = (NSDate *)[[configuregameArray objectAtIndex:k] objectForKey:@"gd"];
NSComparisonResult result = [datefromarray compare:str1];
switch (result)
{
case NSOrderedAscending:
NSLog(@"%@ is greater from %@", str1 ,datefromarray);
indexNumber = [NSString stringWithFormat:@"%d",k];
[indexarray addObject:indexNumber];
NSLog(@"indexarray......%@",indexarray);
break;
default:
NSLog(@"going fine");
break;
}
}
NSMutableIndexSet *discardedItems = [NSMutableIndexSet indexSet];
for(int i=0; i<[indexarray count]; i++)
{
NSInteger removeindex = [[indexarray objectAtIndex:i]intValue];
[discardedItems addIndex:removeindex];
}
[configuregameArray removeObjectsAtIndexes:discardedItems];
}
NSLog(@"configuregameArray......%@",configuregameArray);
}
您是否有日期数组,并且只想过滤出某个日期之后的日期,例如: 2012年1月1日?你可以使用-indexesOfObjectsPassingTest过滤这些:(如果我正确理解问题,我会写一个答案) – 2011-12-30 09:20:51
@DavidRönnqvist其实我有一个数组(configuregamearay),我把日期作为字符串存储在键值'gd'中。我在'datefromarray'中获取相同的内容并与当前日期进行比较。我想从具有日期早于当前日期的configuregamearay中删除值。 – Ketan 2011-12-30 09:39:24
那么,'[[configuregameArray objectAtIndex:k] objectForKey:@“gd”]'实际上给你一个'NSDate'还是一个'NSString'? – DarkDust 2011-12-30 09:44:41