2012-12-16 3 views
0
의 번호를 확인하는 방법

가능한 중복 : 나는이 날짜를 비교하고 그들 사이에 일의 수를 알아 내기 위해 노력하고 있어요
iPhone - get number of days between two dates

. 다음과 같은

뭔가 :

now = [NSDate date]; 

// This is i am saving in NSUSerdefault on some condition,like 

if (a == 1) { 

    dateFormatter = [[NSDateFormatter alloc] init]; 
    dateFormatter.dateFormat = @"yyyy-MM-dd HH:MM:SS"; 
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]]; 
    NSLog(@"The Current Time is %@",[dateFormatter stringFromDate:now]); 
    datesaved = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:now]]; 
    NSLog(@"old date saved : %@",datesaved); 

    [dateFormatter release]; 
} 

및 현재 날짜를 찾을 수 있습니다.

이제는 NSUserDefaults에 저장된 날짜와 현재 날짜를 비교하여 그 사이의 일 수를 찾고 싶습니다.

예 :의 2012년 12월 12일 19:12:74

번호 :

현재 시간이 저장 2012년 12월 16일 19:12:74 된 날짜입니다 일 : 당신은 걸릴 수 있습니다

+0

그런데 HH : MM : SS는 아마도 HH : mm : ss 여야합니다. MM이 그 달을 붙잡고있다! 그리고 예제를 보면, SS는 초 단위가 아니라 분수 초 (예제에서 74)를 제공합니다. [날짜 형식 패턴] (http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns)을 참조하십시오. – Rob

+0

pow (duplicate, 09823984712947) 회 NSdate 질문이 있습니다. 나는 NSDateOverflow ...를 만들 것을 제안 할 것이다. : p –

답변

1
NSDate *date1 = [NSDate dateWithString:@"2010-01-01 00:00:00 +0000"]; 
NSDate *date2 = [NSDate dateWithString:@"2010-02-03 00:00:00 +0000"]; 

NSTimeInterval secondsBetween = [date2 timeIntervalSinceDate:date1]; 

int numberOfDays = secondsBetween/86400; 

NSLog(@"There are %d days in between the two dates.", numberOfDays); 
+1

이것은 24 일 기간의 수를 알려주며 날짜를 표시하지 않는다. 만약 그것이 10 시부 터 2 시까 지라면 어떨까요? 하루는지나 갔지만 겨우 4 시간만이 다. – lnafziger

+0

참고 : 일광 절약 시간과 윤년으로 인해 하루 길이는 82440 ~ 90001 초 사이에서 달라질 수 있습니다. – vikingosegundo

1

4 개

감사합니다 날짜의 일 구성 요소는 다음과 같습니다.

NSDate* now = [NSDate date]; // Or date from format 
NSCalendar* cal = [NSCalendar currentCalendar]; 
NSDateComponents* components = [cal components: NSDayCalendarUnit fromDate: now]; 
NSInteger day = [components day]; 

다른 날짜와 동일한 작업을 수행하고 비교합니다.

+0

이걸 얻지 못하면 .... 어떻게해야합니까? – iscavengers

+0

만약 그들이 같은 달에 있다면, 이전 날짜 (같은 절차)의 날짜를 가져 와서 그 차이를 계산할 수 있습니다. –