title: Objective-C: how to create an NSDate from Julian date fields
body: <p>I've created a category to help me deal with creating dates from year, month, day fields.  I now also have the need to create a date from a Julian Date (YYJJJ).  I've parsed my Julian date string and now have </p>
  
  <pre><code>int years  // representing the year parsed from the julian date string
  int days  // representing the day of the year parsed from julian date string
  </code></pre>
  
  <p>here is my NSDateCategory:</p>
  
  <pre><code>    #import "NSDateCategory.h"
  
  
      @implementation NSDate (MBDateCat)
  
      + (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day {
          NSCalendar *calendar = [NSCalendar currentCalendar];
          NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
          [components setYear:year];
          [components setMonth:month];
          [components setDay:day];
          return [calendar dateFromComponents:components];
      }
    @end
  </code></pre>
  
  <p>How do I create an NSDate from these fields?</p>
  
  <p><strong>Edit:</strong>
  Here is the functionality in Java that I am trying to translate into Objective-C</p>
  
  <pre><code>// Julian Exp Date
                  // (YYJJJ)
                  Date dt = new Date();
                  Calendar cal = Calendar.getInstance();
                  cal.setTime(dt);
                  int years = new Integer(mid(data, 0, 2)).intValue();
                  int days = new Integer(mid(data, 2, 3)).intValue();
  
                  int year = ((cal.get(Calendar.YEAR) / 20) * 20) + years;
                  int month = 0;
                  int day = 0;
                  cal.set(year, month, day);
                  cal.add(Calendar.DAY_OF_YEAR, days);
                  myData.setDate(cal);
  </code></pre>