iphone - timestyle - 두 NSDate 객체의 차이점-NSDate 결과




swift time class (4)

두 NSDate 개체가 있고 두 결과 사이의 차이를 NSDate 개체를 다시합니다. 이 아이디어를 어떻게 얻을 수 있을까요?

여기에서는 경과 된 시간을 찾아 경과 시간을 현지화해야하는 고유 한 문제를 해결하려고 노력하고 있습니다. 경과 시간이 NSDate 객체에 있으면이를 현지화 할 수 있습니다. 그래서 두 날짜 사이의 시간 간격과 같은 시간 구성 요소를 NSDateFormatter를 사용하여 NSDateFormatter를 사용하여 지역화 할 수 있도록하는 NSDate 개체를 만드는 방법을 생각해보십시오.


2002 년 5 월 5 일 12/12/2001을 뺀 경우 날짜는 무엇입니까? 두 날짜 사이의 시간 간격은 날짜가 될 수 없으며 일정 간격을 유지합니다. timeIntervalSinceDate: 를 사용하여 간격을 계산할 수 있습니다.

현지화하려면 다음 단계를 시도해보십시오.


NSDate에서 -compare :를 사용하면 쉽게 사용할 수 있습니다.

NSDate *dateA = [NSDate dateWithTimeIntervalSinceNow:100];
NSDate *dateB = [NSDate dateWithTimeIntervalSinceNow:200];
NSDate *myDate = [NSDate dateWithTimeIntervalSinceNow:150];
NSArray *dateArray = [NSArray arrayWithObjects:dateA, dateB, myDate, nil];
NSArray *sortedArray = [dateArray sortedArrayUsingSelector:@selector(compare:)];
if ([myDate isEqualToDate:[sortedArray objectAtIndex:1]])
    NSLog(@"myDatea between dateA and dateB");

NSDate 는 시간상의 인스턴스를 나타내므로 NSDate 로 시간 간격 을 나타내는 것은 적절하지 않습니다. 당신이 원하는 것은 NSDateComponents :

NSDate *dateA;
NSDate *dateB;

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay
                                           fromDate:dateA
                                             toDate:dateB
                                            options:0];

NSLog(@"Difference in date components: %i/%i/%i", components.day, components.month, components.year);

NSDate 클래스 참조에서이를 수행 할 인스턴스 메소드가 있습니다.

  1. 두 NSDate 변수를 비교하는 방법? Ans : isEqualToDate:
  2. 두 NSDate 변수의 차이점을 찾는 방법? Ans : timeIntervalSinceDate:
  3. 얼마나 분, 시간 및 일 NSDate 변수에서 각각의 별도 값을 얻으려면? links




nsdate