使用NSCalendar的方法获取农历日期:

NSCalendar *lunarCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierChinese];
lunarCalendar.locale = [NSLocale localeWithLocaleIdentifier:@"zh-CN"];
NSInteger day   = [lunarCalendar component:NSCalendarUnitDay fromDate:[NSDate date]];
NSInteger month = [lunarCalendar component:NSCalendarUnitMonth fromDate:[NSDate date]];
NSInteger year  = [lunarCalendar component:NSCalendarUnitYear fromDate:[NSDate date]];
NSLog(@"%@年%@月%@日",@(year),@(month),@(day)); //34618

转成农历描述:

NSArray *chineseYears = @[@"甲子", @"乙丑", @"丙寅", @"丁卯",  @"戊辰",  @"己巳",  @"庚午",  @"辛未",  @"壬申",  @"癸酉", @"甲戌",   @"乙亥",  @"丙子",  @"丁丑", @"戊寅",   @"己卯",  @"庚辰",  @"辛己",  @"壬午",  @"癸未", @"甲申",   @"乙酉",  @"丙戌",  @"丁亥",  @"戊子",  @"己丑",  @"庚寅",  @"辛卯",  @"壬辰",  @"癸巳", @"甲午",   @"乙未",  @"丙申",  @"丁酉",  @"戊戌",  @"己亥",  @"庚子",  @"辛丑",  @"壬寅",  @"癸丑", @"甲辰",@"乙巳",  @"丙午",  @"丁未",  @"戊申",  @"己酉",  @"庚戌",  @"辛亥",  @"壬子",  @"癸丑", @"甲寅",   @"乙卯",  @"丙辰",  @"丁巳",  @"戊午",  @"己未",  @"庚申",  @"辛酉",  @"壬戌",  @"癸亥"];    
NSArray *chineseMonths = @[@"正月", @"二月", @"三月", @"四月", @"五月", @"六月", @"七月", @"八月", @"九月", @"十月", @"冬月", @"腊月"];    
NSArray *chineseDays = @[@"初一", @"初二", @"初三", @"初四", @"初五", @"初六", @"初七", @"初八", @"初九", @"初十",  @"十一", @"十二", @"十三", @"十四", @"十五", @"十六", @"十七", @"十八", @"十九", @"二十", @"廿一", @"廿二", @"廿三", @"廿四", @"廿五", @"廿六", @"廿七", @"廿八", @"廿九", @"三十"];
//测试:农历日历
NSCalendar *lunarCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierChinese];
lunarCalendar.locale = [NSLocale localeWithLocaleIdentifier:@"zh-CN"];
   unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay;

NSDateComponents *localeComp = [lunarCalendar components:unitFlags fromDate:[NSDate date]];
NSString *y_str = [chineseYears objectAtIndex:localeComp.year-1];
NSString *m_str = [chineseMonths objectAtIndex:localeComp.month-1];
NSString *d_str = [chineseDays objectAtIndex:localeComp.day-1];
NSLog(@"%@年%@月%@日",@(localeComp.year),@(localeComp.month),@(localeComp.day)); //34年6月18日
NSLog(@"%@年%@%@",(y_str),(m_str),(d_str)); //丁酉年六月月十八日        

可以看到,当将当前时间([NSDate date]) 转成了丁酉年六月月十八日