2010-04-05 11 views
5

'dueDate' adında bir NSDate nesnesi var. Son tarihin dün ya da yarın olup olmadığını göstermeye çalışıyorum. Bunun için nasıl giderim?NSDates'i Karşılaştırma

cevap

4

Bir tarihin "yarın" olup olmadığını görmek için böyle bir şey yapın.

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]; 

Geri kalanlar oldukça açık olmalıdır.

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:" bir EXACT eşleşmesidir. Yani: alt ikinci eşleşme. Bu test muhtemelen asla DOĞRU değildir. – Christ