2015-05-06 11 views
-1

hii все я пытаюсь сравнить две даты и выполнить какое-то действие, я застрял в дыре, пытаясь сделать все возможное, но я знаю, что я могу что-то пропустить или что-то сделать не так помощь будет любезно понятна. ниже моего кодаКак использовать формат даты и сравнить две строки даты

-(void)dailyCalendarViewDidSelect:(NSDate *)date 
 
{ 
 
    //You can do any logic after the view select the date 
 
    NSDateFormatter *dateformat = [[NSDateFormatter alloc] init]; 
 
    [dateformat setDateStyle:NSDateFormatterMediumStyle]; 
 
    [dateformat setDateStyle:NSDateFormatterMediumStyle] ; 
 
    
 
    datestring1= [dateformat stringFromDate:date]; // date value by current selected date from my cal view 
 
    NSLog(@"%@",datestring1);//output May 5, 2015 
 
// NSLog(@"%@",date);//output 2015-05-05 15:56:32 +0000 
 
    datestring2 = [dateformat stringFromDate:mydate];//already fetched value 
 
    NSLog(@"%@",datestring2);// output May 5, 2015 
 
    // NSLog(@"%@",mydate);// output 2015-05-05 08:47:16 +0000 
 
    if (datestring1 == datestring2) { 
 
     
 
     NSLog(@"good to go");//not able to get this value 
 
     
 
     
 
    } 
 
    
 
    /*//even i try this block too 
 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init]; 
 
    [dateFormat setDateFormat:@"yyyy-MM-dd"]; 
 
    mydate1 = [[NSDate alloc]init]; 
 
    mydate1 = [dateFormat dateFromString:datestring1]; 
 
    NSLog(@"%@",mydate1);//otpt null 
 
    mydate2 = [[NSDate alloc]init]; 
 
    mydate2 = [dateFormat dateFromString:datestring2]; 
 
    NSLog(@"%@",mydate2);//otpt //null 
 
    
 
    if (mydate1 == mydate2) { 
 
     
 
     NSLog(@"good to go");//getting value without matching condition 
 
     
 

 
    } 
 
     */ 
 
    
 
    
 
    
 
}

пожалуйста, см любую помощь будет любезно полезным заранее спасибо

+0

проверьте формат даты, который вы использовали. У вас проблема –

ответ

0

Для сравнения два даты и дата должна быть таким же формиат

if ([date1 compare:date2] == NSOrderedDescending) 
{ 
    NSLog(@"date1 is later than date2(greater than current date)"); 
} 
else if ([date1 compare:date2] == NSOrderedAscending) 
{ 
    NSLog(@"date1 is earlier than date2 (less than current date)");  
} 
else 
{ 
    NSLog(@"dates are the same"); 
} 

Попробуйте

if ([[date1 earlierDate:date2] isEqualToDate:date1]) 
{ 
    NSLog(@"date1 is earlier than date2 (less than current date)"); 
} 
else if ([[date1 laterDate:date2] isEqualToDate:date1]) 
{ 
    NSLog(@"date1 is later than date2(greater than current date)"); 
} 
else 
{ 
    NSLog(@"dates are the same"); 
}