Consider this code:
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:2];
[comps setMonth:6];
[comps setYear:2016];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
If I print the date to console it is
2016-06-01 23:00:00 +0000
June 1, instead of June 2.
Is there a way to create the dates I want without iOS converting that to some crazy date?