2012-11-03 3 views
0

올해 마지막으로 설정되는 NSDate을 만드는 방법을 알아 내려고하고 있습니다. ie 2013, 초를 추가하여 1970 년 이후 시간을 얻을 수있는 방법을 발견했습니다. 나는 칼이 윤년을 거쳐야하기 때문에이 일이 보이지 않는다.iPhone NSDateComponents에서 nsdate를 얻을 수있는 방법이 있습니까

다음 코드를 사용하여 NSDateComponents을 연말로 설정했습니다.

NSDateComponents *comps = [[NSDateComponents alloc] init]; 
    [comps setYear:2012]; 
    [comps setMonth:12]; 
    [comps setDay:11]; 

    [comps setHour:0]; 
    [comps setMinute:0]; 
    [comps setSecond:0]; 

이에서 NSDate를 얻을 수있는 방법이 있나요? 난 할 노력하고있어 종료 날짜에 대한 NSDate을 필요로

NSDateComponents *timeDifference = [[NSCalendar currentCalendar] 
             components: NSMonthCalendarUnit| NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:[NSDate date] toDate:comps options:0]; 

를 사용하여 올해 말까지 시간을 얻을 수 있습니다.

답변

3

예, 있습니다.

사용

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDate *newDate = [calendar dateFromComponents:comps]; 

당신은 당신의 요구 사항에 따라 달력 식별자를 변경할 수 있습니다.

자세한 내용은 link을 참조하십시오.

1

올바른 방향으로 가리킬 수있는 코드가 있습니다.

NSDateComponents *comps = [[NSDateComponents alloc] init]; 
[comps setYear:2012]; 
[comps setMonth:12]; 
[comps setDay:11]; 

[comps setHour:0]; 
[comps setMinute:0]; 
[comps setSecond:0]; 

NSDate *myDate = [[NSCalendar currentCalendar] dateFromComponents:comps]; 
관련 문제