您的位置:首页 > 其它

获取农历日期,指定日期格式

2013-08-14 09:09 423 查看
+ (NSString *)g
4000
etDateWithString:(NSString *)format//format指定的格式如:yyyy-MM-dd hh:mm:ss
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:format];
    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
    [dateFormatter release];
    return dateString;
}

// 获取农历日期
+ (NSString*)getChineseCalendarWithDate:(NSDate *)date
{    
    NSArray *chineseYears = [NSArray arrayWithObjects:
                             @"甲子",   @"乙丑",  @"丙寅", 
@"丁卯", @"戊辰",  @"己巳",  @"庚午",  @"辛未", 
@"壬申",  @"癸酉",
                             @"甲戌",   @"乙亥",  @"丙子", 
@"丁丑", @"戊寅",  @"己卯",  @"庚辰",  @"辛己", 
@"壬午",  @"癸未",
                             @"甲申",   @"乙酉",  @"丙戌", 
@"丁亥", @"戊子",  @"己丑",  @"庚寅",  @"辛卯", 
@"壬辰",  @"癸巳",
                             @"甲午",   @"乙未",  @"丙申", 
@"丁酉", @"戊戌",  @"己亥",  @"庚子",  @"辛丑", 
@"壬寅",  @"癸丑",
                             @"甲辰",   @"乙巳",  @"丙午", 
@"丁未", @"戊申",  @"己酉",  @"庚戌",  @"辛亥", 
@"壬子",  @"癸丑",
                             @"甲寅",   @"乙卯",  @"丙辰", 
@"丁巳", @"戊午",  @"己未",  @"庚申",  @"辛酉", 
@"壬戌",  @"癸亥", nil];

    
    NSArray *chineseMonths=[NSArray arrayWithObjects:
                            @"正月", @"二月", @"三月",
@"四月", @"五月", @"六月", @"七月", @"八月",
                            @"九月", @"十月", @"冬月",
@"腊月", nil];

    

    
    NSArray *chineseDays=[NSArray arrayWithObjects:
                          @"初一", @"初二", @"初三",
@"初四", @"初五", @"初六", @"初七", @"初八",
@"初九", @"初十",
                          @"十一", @"十二", @"十三",
@"十四", @"十五", @"十六", @"十七", @"十八",
@"十九", @"二十",
                          @"廿一", @"廿二", @"廿三",
@"廿四", @"廿五", @"廿六", @"廿七", @"廿八",
@"廿九", @"三十",  nil];

    
    NSCalendar *localeCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSChineseCalendar];

    
    unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;

    
    NSDateComponents *localeComp = [localeCalendar components:unitFlags fromDate: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];

    
    NSString *chineseCal_str =[NSString stringWithFormat: @"%@年%@%@",y_str,m_str,d_str];

    
    [localeCalendar release];

    
    return chineseCal_str;  
}

+ (NSString*)getWeek
{
    NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSChineseCalendar] autorelease];
    NSDateComponents *components = [calendar components:NSWeekdayCalendarUnit fromDate:[NSDate date]];

    
    NSInteger week = [components weekday];
    switch (week) {
        case 1:
            return @"周日";
            break;
        case 2:
            return @"周一";
            break;
        case 3:
            return @"周二";
            break;
        case 4:
            return @"周三";
            break;
        case 5:
            return @"周四";
            break;
        case 6:
            return @"周五";
            break;
        case 7:
            return @"周六";
            break;
        default:
            return @"周六";
            break;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: