Spaces:
Running
Running
| # -*- coding: utf-8 -*- | |
| from ..util import LunarUtil | |
| class XiaoYun: | |
| """ | |
| 小运 | |
| """ | |
| def __init__(self, da_yun, index, forward): | |
| self.__daYun = da_yun | |
| self.__lunar = da_yun.getLunar() | |
| self.__index = index | |
| self.__year = da_yun.getStartYear() + index | |
| self.__age = da_yun.getStartAge() + index | |
| self.__forward = forward | |
| def getIndex(self): | |
| return self.__index | |
| def getYear(self): | |
| return self.__year | |
| def getAge(self): | |
| return self.__age | |
| def getGanZhi(self): | |
| """ | |
| 获取干支 | |
| :return: 干支 | |
| """ | |
| offset = LunarUtil.getJiaZiIndex(self.__lunar.getTimeInGanZhi()) | |
| add = self.__index + 1 | |
| if self.__daYun.getIndex() > 0: | |
| add += self.__daYun.getStartAge() - 1 | |
| offset += add if self.__forward else -add | |
| size = len(LunarUtil.JIA_ZI) | |
| while offset < 0: | |
| offset += size | |
| offset %= size | |
| return LunarUtil.JIA_ZI[offset] | |
| def getXun(self): | |
| """ | |
| 获取所在旬 | |
| :return: 旬 | |
| """ | |
| return LunarUtil.getXun(self.getGanZhi()) | |
| def getXunKong(self): | |
| """ | |
| 获取旬空(空亡) | |
| :return: 旬空(空亡) | |
| """ | |
| return LunarUtil.getXunKong(self.getGanZhi()) | |