2010-11-20 12 views

答えて

2

ここにあなたのステップ:

  • インスタンス化カレンダー
  • 日付を構築年
  • の1月1日との日数の追加 - 1と日付を構築すること
  • でゲットあなたが興味を持っているコンポーネント

あなたが入手した日付が0または1ベースのものであるか注意してください。

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

NSDateComponents *comps = [[NSDateComponents alloc] init]; 
[comps setYear:theYear]; 
[comps setMonth:1]; 
[comps setDay:1]; 
NSDate *date = [gregorian dateFromComponents:comps]; 
[comps release]; 

NSDateComponents *compsToAdd = [[NSDateComponents alloc] init]; 
[comps setDay:theDay-1]; 

NSDate *finalDate = [gregorian dateByAddingComponents:compsToAdd date options:0]; 

[compsToAdd release] 

NSDateComponents *interestingComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit) fromDate:finalDate]; 
NSInteger day = [interestingComponents day]; 
NSInteger month = [interestingComponents month]; 

[gregorian release]; 
0

-dateByAddingComponents:toDate:options:メソッドNSCalendarを参照してください。

関連する問題