| | |
| | | } |
| | | lastDate = [LunarUtil getDaysOfMonth:lunarYear :lunarMonth]; |
| | | } |
| | | |
| | | return [[self alloc] initWith:lunarYear :lunarMonth :lunarDay :solar.hour :solar.minute :solar.second]; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取日喜神方位描述 |
| | | * @return string 喜神方位描述,如东北 |
| | | */ |
| | | - (NSString *)getPositionXiDesc |
| | | { |
| | | return [self getDayPositionXiDesc]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日喜神方位 |
| | | * @return string 喜神方位,如艮 |
| | | */ |
| | |
| | | * 获取日阳贵神方位 |
| | | * @return string 阳贵神方位,如艮 |
| | | */ |
| | | - (NSString *)getPositionYangGui |
| | | { |
| | | return [self getDayPositionYangGui]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日阳贵神方位描述 |
| | | * @return string 阳贵神方位描述,如东北 |
| | | */ |
| | | - (NSString *)getPositionYangGuiDesc |
| | | { |
| | | return [self getDayPositionYangGuiDesc]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日阳贵神方位 |
| | | * @return string 阳贵神方位,如艮 |
| | | */ |
| | | - (NSString *)getDayPositionYangGui |
| | | { |
| | | return [LunarUtil share].POSITION_YANG_GUI[_dayGanIndex + 1]; |
| | |
| | | - (NSString *)getTimePositionYangGuiDesc |
| | | { |
| | | return [LunarUtil share].POSITION_DESC[[self getTimePositionYangGui]]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日阴贵神方位 |
| | | * @return string 阴贵神方位,如艮 |
| | | */ |
| | | - (NSString *)getPositionYinGui |
| | | { |
| | | return [self getDayPositionYinGui]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日阴贵神方位描述 |
| | | * @return string 阴贵神方位描述,如东北 |
| | | */ |
| | | - (NSString *)getPositionYinGuiDesc |
| | | { |
| | | return [self getDayPositionYinGuiDesc]; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取日福神方位描述 |
| | | * @return string 福神方位描述,如东北 |
| | | */ |
| | | - (NSString *)getPositionFuDesc |
| | | { |
| | | return [self getDayPositionFuDesc]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日福神方位 |
| | | * @return string 福神方位,如艮 |
| | | */ |
| | |
| | | - (NSString *)getPositionCai |
| | | { |
| | | return [self getDayPositionCai]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日财神方位描述 |
| | | * @return string 财神方位描述,如东北 |
| | | */ |
| | | - (NSString *)getPositionCaiDesc |
| | | { |
| | | return [self getDayPositionCaiDesc]; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取冲描述 |
| | | * @return string 冲描述,如(壬申)猴 |
| | | */ |
| | | - (NSString *)getChongDesc |
| | | { |
| | | return [self getDayChongDesc]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日冲描述 |
| | | * @return string 日冲描述,如(壬申)猴 |
| | | */ |
| | |
| | | - (NSString *)getTimeChongDesc |
| | | { |
| | | return [NSString stringWithFormat:@"(%@%@)%@", [self getTimeChongGan], [self getTimeChong], [self getTimeChongShengXiao]]; |
| | | } |
| | | |
| | | /** |
| | | * 获取煞 |
| | | * @return string 煞,如北 |
| | | */ |
| | | - (NSString *)getSha |
| | | { |
| | | return [self getDaySha]; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param conditions array|null 过滤条件,如果设置过滤条件,仅返回匹配该名称的 |
| | | * @return JieQi|null 节气 |
| | | */ |
| | | - (JieQi *)getNearJieQi:(BOOL)forward :(NSArray *)conditions |
| | | - (JieQi *)getNearJieQi:(BOOL)forward :(nullable NSArray *)conditions |
| | | { |
| | | NSString *name = nil; |
| | | Solar *near = nil; |
| | |
| | | [s appendString:@"]("]; |
| | | [s appendFormat:@"%@", [self getDayPositionCaiDesc]]; |
| | | [s appendString:@") 冲["]; |
| | | [s appendFormat:@"%@", [self getChongDesc]]; |
| | | [s appendFormat:@"%@", [self getDayChongDesc]]; |
| | | [s appendString:@"] 煞["]; |
| | | [s appendFormat:@"%@", [self getSha]]; |
| | | [s appendFormat:@"%@", [self getDaySha]]; |
| | | [s appendString:@"]"]; |
| | | return s; |
| | | } |
| | |
| | | d = 29; |
| | | } |
| | | } else if (9 <= month && month <= 12) { |
| | | NSInteger v = [[LunarUtil share].LUNAR_MONTH[2*index + 1] integerValue]; |
| | | NSInteger v = [[LunarUtil share].LUNAR_MONTH[2*index+1] integerValue]; |
| | | NSInteger l = month - 9; |
| | | if (((v >> l) & 0x01) == 1) { |
| | | d = 29; |
| | | } |
| | | } else { |
| | | NSInteger v = [[LunarUtil share].LUNAR_MONTH[2*index + 1] integerValue]; |
| | | NSInteger v = [[LunarUtil share].LUNAR_MONTH[2*index+1] integerValue]; |
| | | v = (v >> 4) & 0x0F; |
| | | if (v != labs(month)) { |
| | | d = 0; |
| | | } else { |
| | | d = 29; |
| | | for (NSNumber * i in [LunarUtil share].LUNAR_MONTH) { |
| | | for (NSNumber * i in [LunarUtil share].LEAP_MONTH_YEAR) { |
| | | if ([i integerValue] == index) { |
| | | d = 30; |
| | | break; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取阴历对象 |
| | | * @return Lunar 阴历对象 |
| | | */ |
| | | - (Lunar *)getLunar |
| | | { |
| | | return _lunar; |
| | | } |
| | | |
| | | /** |
| | | * 获取年柱 |
| | | * @return string 年柱 |
| | | */ |
| | |
| | | return [[LunarUtil share].NAYIN objectForKey:[self getShenGong]]; |
| | | } |
| | | |
| | | ///** |
| | | // * 获取运 |
| | | // * @param gender 性别,1男,0女 |
| | | // * @return Yun 运 |
| | | // */ |
| | | //- (Yun *)getYun:(NSInteger)gender |
| | | //{ |
| | | // return new Yun($this, $gender); |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取年柱所在旬 |
| | | // * @return string 旬 |
| | | // */ |
| | | //- (NSString *)getYearXun |
| | | //{ |
| | | // return [_lunar getYearXunExact]; |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取年柱旬空(空亡) |
| | | // * @return string 旬空(空亡) |
| | | // */ |
| | | //- (NSString *) getYearXunKong |
| | | //{ |
| | | // return [_lunar getYearXunKongExact]; |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取月柱所在旬 |
| | | // * @return string 旬 |
| | | // */ |
| | | //- (NSString *)getMonthXun |
| | | //{ |
| | | // return [_lunar getMonthXunExact]; |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取月柱旬空(空亡) |
| | | // * @return string 旬空(空亡) |
| | | // */ |
| | | //- (NSString *)getMonthXunKong |
| | | //{ |
| | | // return [_lunar getMonthXunKongExact]; |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取日柱所在旬 |
| | | // * @return string 旬 |
| | | // */ |
| | | //- (NSString *)getDayXun |
| | | //{ |
| | | // if (_sect == 2) { |
| | | // return [_lunar getDayXunExact2]; |
| | | // } else { |
| | | // return [_lunar getDayXunExact]; |
| | | // } |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取日柱旬空(空亡) |
| | | // * @return string 旬空(空亡) |
| | | // */ |
| | | //- (NSString *)getDayXunKong |
| | | //{ |
| | | // if (_sect == 2) { |
| | | // return [_lunar getDayXunKongExact2]; |
| | | // } else { |
| | | // return [_lunar getDayXunKongExact]; |
| | | // } |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取时柱所在旬 |
| | | // * @return string 旬 |
| | | // */ |
| | | //- (NSString *)getTimeXun |
| | | //{ |
| | | // return [_lunar getTimeXun]; |
| | | //} |
| | | // |
| | | ///** |
| | | // * 获取时柱旬空(空亡) |
| | | // * @return string 旬空(空亡) |
| | | // */ |
| | | //- (NSString *)getTimeXunKong |
| | | //{ |
| | | // return [_lunar getTimeXunKong]; |
| | | //} |
| | | /** |
| | | * 获取运 |
| | | * @param gender 性别,1男,0女 |
| | | * @return Yun 运 |
| | | */ |
| | | - (Yun *)getYun:(NSInteger)gender |
| | | { |
| | | return [[Yun alloc] initWith:self :gender]; |
| | | } |
| | | |
| | | /** |
| | | * 获取年柱所在旬 |
| | | * @return string 旬 |
| | | */ |
| | | - (NSString *)getYearXun |
| | | { |
| | | return [_lunar getYearXunExact]; |
| | | } |
| | | |
| | | /** |
| | | * 获取年柱旬空(空亡) |
| | | * @return string 旬空(空亡) |
| | | */ |
| | | - (NSString *)getYearXunKong |
| | | { |
| | | return [_lunar getYearXunKongExact]; |
| | | } |
| | | |
| | | /** |
| | | * 获取月柱所在旬 |
| | | * @return string 旬 |
| | | */ |
| | | - (NSString *)getMonthXun |
| | | { |
| | | return [_lunar getMonthXunExact]; |
| | | } |
| | | |
| | | /** |
| | | * 获取月柱旬空(空亡) |
| | | * @return string 旬空(空亡) |
| | | */ |
| | | - (NSString *)getMonthXunKong |
| | | { |
| | | return [_lunar getMonthXunKongExact]; |
| | | } |
| | | |
| | | /** |
| | | * 获取日柱所在旬 |
| | | * @return string 旬 |
| | | */ |
| | | - (NSString *)getDayXun |
| | | { |
| | | if (_sect == 2) { |
| | | return [_lunar getDayXunExact2]; |
| | | } else { |
| | | return [_lunar getDayXunExact]; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取日柱旬空(空亡) |
| | | * @return string 旬空(空亡) |
| | | */ |
| | | - (NSString *)getDayXunKong |
| | | { |
| | | if (_sect == 2) { |
| | | return [_lunar getDayXunKongExact2]; |
| | | } else { |
| | | return [_lunar getDayXunKongExact]; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取时柱所在旬 |
| | | * @return string 旬 |
| | | */ |
| | | - (NSString *)getTimeXun |
| | | { |
| | | return [_lunar getTimeXun]; |
| | | } |
| | | |
| | | /** |
| | | * 获取时柱旬空(空亡) |
| | | * @return string 旬空(空亡) |
| | | */ |
| | | - (NSString *)getTimeXunKong |
| | | { |
| | | return [_lunar getTimeXunKong]; |
| | | } |
| | | |
| | | |
| | | @end |
| | |
| | | return [NineStar share].SONG_TAI_YI[_index]; |
| | | } |
| | | |
| | | /** |
| | | * 获取九星序号,从0开始 |
| | | * @return int 序号 |
| | | */ |
| | | - (NSInteger)getIndex |
| | | { |
| | | return _index; |
| | | } |
| | | |
| | | - (NSString *)toString |
| | | { |
| | | return [NSString stringWithFormat:@"%@%@%@%@", [self getNumber], [self getColor], [self getWuXing], [self getNameInBeiDou]]; |
| | |
| | | */ |
| | | @implementation ShuJiu |
| | | |
| | | - (instancetype)init |
| | | { |
| | | self = [super init]; |
| | | if (self) { |
| | | |
| | | } |
| | | return self; |
| | | } |
| | | |
| | | - (instancetype)initWith:(NSString *)name :(NSInteger)index |
| | | { |
| | | self = [super init]; |
| | |
| | | NSDateFormatter *form = [NSDateFormatter new]; |
| | | form.dateFormat = @"yyyy-MM-dd HH:mm:ss"; |
| | | _calendar = [form dateFromString:s]; |
| | | |
| | | } |
| | | return self; |
| | | } |
| | |
| | | return l; |
| | | } |
| | | |
| | | |
| | | - (NSString *)toString |
| | | { |
| | | NSMutableString *s = [NSMutableString string]; |
| | | [s appendFormat:@"%@", [self toYmdHms]]; |
| | | [s appendString:@" "]; |
| | | [s appendString:@"星期"]; |
| | | [s appendFormat:@"%@", [self getWeekInChinese]]; |
| | | return s; |
| | | } |
| | | |
| | | - (NSString *)toFullString |
| | | { |
| | |
| | | NSDateComponents *comps = [calendar components:NSCalendarUnitYear fromDate:date]; |
| | | return [[SolarYear alloc] initWith:comps.year]; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取本年的月份 |