This is something I found myself spending hours to figure out and therefore want to share with you.
The question was: How do I determine the day of the year for a specific date?
e.g. January 15 is the 15th day and December 31 is the 365th day when it's not leap year.
Try this:
NSCalendar *gregorian =
[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger dayOfYear =
[gregorian ordinalityOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit forDate:[NSDate date]];
[gregorian release];
return dayOfYear;
where date
is the date you want to determine the day of the year for. The documentation on the NSCalendar.ordinalityOfUnit method is here.