2012-08-01 6 views
0

일년 중 날짜를 어떻게 받습니까? 예를 들어 1 일을 '1'로 지정하면 날짜는 '1 월 1 일'이어야합니다.iPhone에서 연중 날짜를 가져 오는 방법은 무엇입니까?

iPhone에서 어떻게 가져올 수 있습니까? 자바 스크립트에서 답변을 찾았지만 Objective에서 동일한 것을 달성하는 방법을 알고 싶습니다. 포스트에서

답변

2

는이 코드가 당신을 위해 일 것 같아요 나는 텍스트 필드를 추가하는 방법에 많은 일에 대한 입력 값을 제공하는 샘플 기능을 만들었습니다. 그리고 최종 날을 계산하는 버튼. 다음은 버튼 이벤트 로직입니다.

NSDateComponents *dateComponent = [[NSDateComponents alloc] init]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"yyyy-mm-dd"]; 

    NSDate *newDate = [formatter dateFromString:@"2012-01-01"]; 

    // add days to current date 
    dateComponent.day = [dayTextField.text intValue]; 

    // get a new date by adding components 
    newDate = [[NSCalendar currentCalendar] dateByAddingComponents: dateComponent toDate:newDate options:0]; 

    [finalDate setText:[NSString stringWithFormat:@"%@", newDate]]; 

여기서 dayTextField.text는 계산할 일 수를 나타내는 텍스트입니다. (예 : 125 일) finalDate는 최종 생성 날짜 (2012 년 1 월 1 일 이후 125 일 이후의 날짜를 의미)를 표시하는 레이블입니다.

이 코드의 이점은 언제든지 시작일 매개 변수를 변경할 수 있다는 것입니다. 예를 들어, 다른 요구 사항에 대해서는 "1999 년 5 월 31 일"부터 계산해야합니다. 그런 다음 한 줄로 쉽게 변경하고 동일한 코드가 작동합니다.

코딩 즐기기 :)

1
NSCalendar *gregorian = 
    [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSUInteger dayOfYear = 
    [gregorian ordinalityOfUnit:NSDayCalendarUnit 
    inUnit:NSYearCalendarUnit forDate:[NSDate date]]; 
[gregorian release]; 
return dayOfYear; 

테이크 : How do you calculate the day of the year for a specific date in Objective-C?

+0

다른 SO 질문이 동일한 경우이 질문에 대해 중복으로 플래그를 지정하십시오. :) – Almo

+0

그리고이 대답은 질문이 요구했던 것과 완전히 반대입니다. * 그리고 사이클이 완료되었습니다 * – WDUK

관련 문제