날짜 구성 요소를 사용하여 경과 된 시간을 계산하려고하면 날짜가 1 초 남았습니다. 왜 이런거야?NSDate 1 Second Off
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *conversionInfo = [sysCalendar components:unitFlags fromDate:timeStarted toDate:[[NSDate date]addTimeInterval:+1.0] options:0];
timeElapsed = [sysCalendar dateFromComponents:conversionInfo];
일시적인 수정은 1 초를 추가하는 것입니다. 그러나 왜 그런 일이 일어나고 있는지 또는 더 나은 수정이 필요한지 이해하고 싶습니다.
편집 : 1 초가 아니지만 반올림됩니다. 시간 간격을 초 단위로 계산하면 (소수점 이하로) 1.9, 2.9, 3.9가되고 00:00:01, 00:00:02, 00:00:03이 각각 표시됩니다. 나는 그것을 어떻게 모아서 얻을 수 있는가?
당신은 0.5 초를 추가 할 수 있습니다. 그것은 모든 경우에 효과가 있습니다. 그러나 이것은 여전히 끔찍한 해결책입니다. – dasdom