hi,
im trying to increase a date and get a formatted output for every month ... it works fine, but the step Dec 2010 to Jan 2011 doesn't work. please have a look at this:
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *lastDate = [[NSDate alloc] init];
for (int i = 0; i < 12; i++) {
NSDateComponents *offsetComponents = [[[NSDateComponents alloc] init] autorelease];
[offsetComponents setMonth: 1];
lastDate = [[gregorian dateByAddingComponents:offsetComponents toDate: lastDate options:0] retain];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateFormat:@"MMMM YYYY"];
NSLocale *locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];
[dateFormatter setLocale:locale];
NSLog(@"%d: Fromatted Date: %@ from : %@", i, [dateFormatter stringFromDate:lastDate], lastDate);
}
debug output: [Session started at 2010-07-01 11:05:18 +0200.] 0: Fromatted Date: August 2010 from : 2010-08-01 11:05:19 +0200
1: Fromatted Date: September 2010 from : 2010-09-01 11:05:19 +0200
2: Fromatted Date: October 2010 from : 2010-10-01 11:05:19 +0200
3: Fromatted Date: November 2010 from : 2010-11-01 11:05:19 +0100 4: Fromatted Date: December 2010 from : 2010-12-01 11:05:19 +0100
5: Fromatted Date: January 2010 from : 2011-01-01 11:05:19 +0100 <--- WHY is the year 2010 ?!
6: Fromatted Date: February 2011 from : 2011-02-01 11:05:19 +0100
7: Fromatted Date: March 2011 from : 2011-03-01 11:05:19 +0100
8: Fromatted Date: April 2011 from : 2011-04-01 11:05:19 +0200
9: Fromatted Date: May 2011 from : 2011-05-01 11:05:19 +0200
10: Fromatted Date: June 2011 from : 2011-06-01 11:05:19 +0200
11: Fromatted Date: July 2011 from : 2011-07-01 11:05:19 +0200