2010-04-05 9 views
5

Ho un oggetto NSDate chiamato "dueDate". Sto cercando di capire come visualizzare se la data di scadenza era ieri o è domani. Come andrei su questo?Confronto di NSDate

risposta

4

Per vedere se una data è "domani", fare qualcosa di simile.

NSCalendar *calendar = [NSCalendar currentCalendar];  
    NSDate *currentDate = [NSDate date]; 
    NSDateComponents *comps = [[NSDateComponents alloc] init]; 
    // set tomorrow (0: today, -1: yesterday) 
    [comps setDay:1]; 
    NSDate *dateTomorrow = [calendar dateByAddingComponents:comps 
                toDate:currentDate 
                options:0]; 
    [comps release]; 

Il resto dovrebbe essere abbastanza ovvio.

HTH.

0
NSDate *today = [NSDate date]; 

NSTimeInterval dateTime; 


if ([visitDate isEqualToDate:today]) //visitDate is a NSDate 

{ 

NSLog (@"Dates are equal"); 

} 

dateTime = ([visitDate timeIntervalSinceDate:today]/86400); 

if(dateTime < 0) //Check if visit date is a past date, dateTime returns - val 

{ 

NSLog (@"Past Date"); 

} 

else 

{ 
NSLog (@"Future Date"); 

} 
+1

"isEqualToDate:" è una corrispondenza ESATTA. vale a dire: partita secondaria al secondo. questo test probabilmente non sarà mai VERO. – Christ