传入字符串
/**
根据生日计算星座
@param birthday 生日 eg:2016-10-25
@return 星座
*/
-(NSString *)getAstroWithBirthday:(NSString *)birthday
{
int month = [[[birthday componentsSeparatedByString:@"-"] objectAtIndex:1] intValue];
int day = [[[birthday componentsSeparatedByString:@"-"] objectAtIndex:2] intValue];
NSString *astroString = @"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯";
NSString *astroFormat = @"102123444543";
NSString *result;
result=[NSString stringWithFormat:@"%@座",[astroString substringWithRange:NSMakeRange(month *2-(day < [[astroFormat substringWithRange:NSMakeRange((month-1), 1)] intValue] - (-19))*2,2)]];
return result;
}
传入整形月、日
/**
根据生日计算星座
@param month 月份
@param day 日期
@return 星座名称
*/
+(NSString *)calculateConstellationWithMonth:(NSInteger)month day:(NSInteger)day
{
NSString *astroString = @"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯";
NSString *astroFormat = @"102123444543";
NSString *result;
if (month<1 || month>12 || day<1 || day>31){
return @"错误日期格式!";
}
if(month==2 && day>29)
{
return @"错误日期格式!!";
}else if(month==4 || month==6 || month==9 || month==11) {
if (day>30) {
return @"错误日期格式!!!";
}
}
result=[NSString stringWithFormat:@"%@",[astroString substringWithRange:NSMakeRange(month*2-(day < [[astroFormat substringWithRange:NSMakeRange((month-1), 1)] intValue] - (-19))*2,2)]];
return [NSString stringWithFormat:@"%@座",result];
}