根据日期计算星座

2023-06-14

//formatter为月和日

let dateFomatter = NSDateFormatter();

dateFomatter.setLocalizedDateFormatFromTemplate("MM-dd")

//提取字符串中月和日

let date = dateFomatter.stringFromDate(datePicker.date);

        

print(date);

        

//1.隐式定义字符串数组

var dateArray = date.componentsSeparatedByString("/")

        

let xingzuo = TimeUtil.getAstroWithMonth(Int32(dateArray[0])!, day: Int32(dateArray[1])!);




#import "TimeUtil.h"


@implementation TimeUtil

+(NSString *)getAstroWithMonth:(int)m day:(int)d{

    NSString *astroString = @"魔羯水瓶双鱼白羊金牛双子巨蟹狮子***天秤天蝎射手魔羯";

    NSString *astroFormat = @"102123444543";

    NSString *result;

    if (m<1||m>12||d<1||d>31){

        return @"错误日期格式!";

    }

    if(m==2 && d>29)

    {

        return @"错误日期格式!!";

    }else if(m==4 || m==6 || m==9 || m==11) {

        if (d>30) {

            return @"错误日期格式!!!";

        }

    }

    result=[NSString stringWithFormat:@"%@",[astroString substringWithRange:NSMakeRange(m*2-(d < [[astroFormat substringWithRange:NSMakeRange((m-1), 1)] intValue] - (-19))*2,2)]];

    return result;

}

@end