如何将日期对象与Objective-C中的字符串进行比较?

时间:2014-03-27 05:33:56

标签: objective-c ios7

我有这种格式的日期数组:

date: 2012-01-02,2012-03-17,2012-04-09,2012-05-07,2012-06-04,2012-08-06,2012-10-29,2012-12-25,2012-12-26. 

我想将日期与今天的日期进行比较,但我需要一些帮助。这是我的代码。

NSArray *date =[dict12 objectForKey:@"ie_date_closed"];
NSLog(@"date:%@",date);
int i=date;
for (i=0; i<6; i++) 
{   
    NSComparisonResult result = [todaydate compare:date[i]];   
    NSLog(@"result:%d",result);
}

3 个答案:

答案 0 :(得分:2)

这是代码看看&amp;尝试用它来实现你的自我:

for (i=0; i<[date count]; i++)
{
    NSDateformatter *format = Define Your date Format Here
    NSDate yourDate = [format dateFromString:[date objectAtIndex:i]];
    If ([YourDate compare:[NSDate date]] == NSOrderedSame)
    {
        NSLog(@"Both Dates are same");
    }
}

注意:我没有给你完整的现成代码,只是为了提示,所以使用它你可以实现你想要的。

希望这会有所帮助。

答案 1 :(得分:2)

试试吧

 NSDate *firstTime;
    NSDate *nowTime;
   NSDate *localDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setTimeZone:[NSTimeZone   systemTimeZone]];
    dateFormatter.dateFormat = @"YYYY-MM-dd";
    NSString *str = [dateFormatter stringFromDate:localDate];


      NSArray *date =[dict12 objectForKey:@"ie_date_closed"];
      NSLog(@"date:%@",date);
     for (i=0; i<[date count]; i++) 
{   


     NSString *openTime =[NSString stringWithFormate:"%@"[date objectAtindex:i]];
    NSDateFormatter *dateComperFormatter1 = [[NSDateFormatter alloc] init];
    [dateComperFormatter1 setTimeZone:[NSTimeZone   systemTimeZone]];
    [dateComperFormatter1 setDateFormat:@"YYYY-MM-dd"];


    firstTime = [dateComperFormatter1 dateFromString:openTime];
    nowTime = [dateComperFormatter1 dateFromString:str];
    //    NSComparisonResult result;
    //   // has three possible values: NSOrderedSame,NSOrderedDescending, NSOrderedAscending
    //
    //    result = [nowTime compare:firstTime]; // comparing two dates

    NSComparisonResult result = [nowTime compare:firstTime];
  }

答案 2 :(得分:2)

尝试以下代码: -

NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd"];
for (NSString *arrDt in date){
if ([arrDt isEqualToString:[formatter stringFromDate:[NSDate date]]]){
NSLog(@"Equal Date");}}

注意: - 您需要根据数组对象日期设置dateFormat。