2011-04-20 12 views
10

두 날짜를 비교하여 나중에 어떤 날짜를 확인할 수 있습니까? 예를 들어, date1에 데이터를 다운로드 한 후 하나의 날짜를 저장하고 date2에 현재 날짜를 저장합니다. 그렇다면 어떤 것이 더 큰지/나중에 있는지 확인해야합니다. if(date1>date2)과 같은 것입니다.두 날짜 비교

+1

질문을 올리기 전에 오른쪽 상단 모서리에있는 검색 상자를 사용하여 스택 오버플로에서 아직 묻지 않은 경우 eck를 클릭합니다. 예를 들어,'compare two NSDate'를 검색하십시오. –

답변

25

뭔가 같은 :

NSDate* timeNow = [NSDate date]; 

    // If less than 30 seconds, do something 
    if ([timeNow timeIntervalSinceDate:anEarlierTime] < 30.0f) 
    { 
     // Do something 
    } 
+0

ur 답장을위한 고맙습니다, 작은 설명, 시간 간격이 24 시간 (1 일) 인 경우 어떻게 확인할 수 있습니까? – Kiran

+2

글쎄, 분당 60 초, 시간당 60 분, 그리고 24 시간이면 86,400을 얻을 수 있습니다 :-) –

24

당신은있는 NSDate의 비교 사용할 수 있습니다

NSComparisonResult result = [Date2 compare:Date1]; 

if(result==NSOrderedAscending) 
    NSLog(@"Date1 is in the future"); 
else if(result==NSOrderedDescending) 
    NSLog(@"Date1 is in the past"); 
else 
    NSLog(@"Both dates are the same"); 
3
NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd"]; 
NSDate *dt1 = [[NSDate alloc] init]; 
NSDate *dt2 = [[NSDate alloc] init]; 
dt1 = [df dateFromString:@"2011-02-25"]; 
dt2 = [df dateFromString:@"2011-03-25"]; 
NSComparisonResult result = [dt1 compare:dt2]; 
switch (result) 
{ 
    case NSOrderedAscending: NSLog(@"%@ is greater than %@", dt2, dt1); break; 
    case NSOrderedDescending: NSLog(@"%@ is less %@", dt2, dt1); break; 
    case NSOrderedSame: NSLog(@"%@ is equal to %@", dt2, dt1); break; 
    default: NSLog(@"erorr dates %@, %@", dt2, dt1); break; 
} 
3

이 나는 ​​시간대와 날짜를 비교하기 위해 사용하고, 나 아이폰 OS 6을 사용하는 일을 무엇 : 방법을

 NSComparisonResult result = [timeStamp compare:serverDate]; 
     NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
     [df setDateFormat:@"yyyy-MM-dd HH:mm:ss z"]; 
     switch (result) 
     { 
      case NSOrderedAscending: 
       NSLog(@"%@ is greater than %@", [df stringFromDate:serverDate], [df stringFromDate:timeStamp]); 
       break; 
      case NSOrderedDescending: 
       NSLog(@"%@ is less %@", [df stringFromDate:serverDate], [df stringFromDate:timeStamp]); 
       break; 
      case NSOrderedSame: 
       NSLog(@"%@ is equal to %@", [df stringFromDate:serverDate], [df stringFromDate:timeStamp]); 
       break; 
      default: 
       NSLog(@"erorr dates %@, %@", [df stringFromDate:serverDate], [df stringFromDate:timeStamp]); 
       break; 
     }