ある日付の月の1日目を求める

iphone - Retrieving 1st day of month using NSCalendar - Stack Overflow

// ある日
NSDate*fromDate = [NSDate date];
// NSCalendarを作る
NSCalendar *gregorian
        = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
// カレンダのタイムゾーンにUTCを設定する。これが要るかどうかよくわかってない。
[gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
// こんぽーねんつをつくる。これなんすかね。まだわかってない。
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit
       | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:fromDate]; 
// 日付を1にする
[comp setDay:1]; 
// カレンダーでこんぽーねんつから日付を作る! こんなやりかたすんのか!!    
NSDate *rtnDate = [gregorian dateFromComponents:comp];
    

javaでなら何回もやりました。ある日の月の1日を求めるとか。求めるというか、1日目は1日なんだけど、その日付が欲しいという場合。javaも相当面倒くさいけど、objective-cでもかなりだった。