2011-08-25 6 views
0

여기에 사과 문서뿐 아니라 일부 코드를 따라 왔고 NSDateComponents가 올바르게 작동하지 않는 것처럼 보입니다.NSDateComponents의 올바른 사용

NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *components = [calendar components:(NSHourCalendarUnit|NSMinuteCalendarUnit) fromDate:dateValue]; 
[calendar release]; 

dateValue는 날짜이며, 시간 만주의해야하며 시간은 오전 8시입니다. 이후에 어떤 구성 요소가 있는지 확인하면 시간과 분 모두 nil입니다.

[components setCalendar:calendar]; 

답변

2

그 코드가 작동 것이다 : 나는 (안 모든 예제는이를 가지고 있지만) 당신이 필요 읽어 보시기 때문에

는 또한,이 삽입했습니다. 아마도시와 분에 잘못 접근하려하기 때문일 수 있습니다. 나는 이런 짓을하고 콘솔 창에 현재 시간과 분을 가지고 :

NSDate *dateValue = [NSDate date]; 
NSCalendar* calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *components = [calendar components:(NSHourCalendarUnit|NSMinuteCalendarUnit) fromDate:dateValue]; 
NSLog(@"hour: %d, minute: %d", [components hour], [components minute]); 
[calendar release]; 

-hour-minute 복귀 일반 정수,하지의 NSNumber 객체.

+0

실제로 캘린더와 관련이 있습니다. 나는 계속 같은 시간을 계속 지켜 보았다고 생각한다. 그래서 나는 나의 캘린더가 내가 믿는 -8 시간대라고 생각하여, 나는 0을 얻고 있었다. – JPC