Open orzmoe opened 5 months ago
func (eightChar *EightChar) GetShenGong() string { monthZhiIndex := 0 timeZhiIndex := 0 size := len(MONTH_ZHI) for i := 0; i < size; i++ { zhi := MONTH_ZHI[i] if strings.Compare(eightChar.GetMonthZhi(), zhi) == 0 { monthZhiIndex = i } if strings.Compare(eightChar.GetTimeZhi(), zhi) == 0 { timeZhiIndex = i } } zhiIndex := 2 + monthZhiIndex + timeZhiIndex if zhiIndex > 12 { zhiIndex -= 12 } jiaZiIndex := LunarUtil.GetJiaZiIndex(eightChar.lunar.GetMonthInGanZhiExact()) - (monthZhiIndex - zhiIndex) if jiaZiIndex >= 60 { jiaZiIndex -= 60 } if jiaZiIndex < 0 { jiaZiIndex += 60 } return LunarUtil.JIA_ZI[jiaZiIndex] }
其中zhiIndex 可能在减去12后还是会大于12的情况比如 1990-01-27 ,会导致身宫计算错误 正确的是 丙寅 目前计算出来的是 戊寅
1990-01-27几点钟?
1990-01-27 00:00:00
我验证了,确实应该为丙寅,将在下个版本修复。
其中zhiIndex 可能在减去12后还是会大于12的情况比如 1990-01-27 ,会导致身宫计算错误 正确的是 丙寅 目前计算出来的是 戊寅