1
0
mirror of synced 2025-12-27 15:57:59 +08:00

增加八字和五行,可以算五行缺什么了。

This commit is contained in:
6tail
2020-04-06 20:17:39 +08:00
parent ced6954a3b
commit 9aff50ef97
2 changed files with 76 additions and 1 deletions

View File

@@ -777,6 +777,48 @@ public class Lunar{
return LunarUtil.NAYIN.get(getTimeInGanZhi());
}
/**
* 获取八字
* @return 八字
*/
public String getBaZi(){
String dayGan = getDayGan();
int dayGanIndex = 1;
for(int i=0,j=LunarUtil.GAN.length;i<j;i++){
if(LunarUtil.GAN[i].equals(dayGan)){
dayGanIndex = i;
break;
}
}
dayGanIndex--;
dayGanIndex%=5;
String timeZhi = getTimeZhi();
int timeZhiIndex = 1;
for(int i=0,j=LunarUtil.ZHI.length;i<j;i++){
if(LunarUtil.ZHI[i].equals(timeZhi)){
timeZhiIndex = i;
break;
}
}
timeZhiIndex--;
String timeGan = LunarUtil.GAN[(dayGanIndex*12+timeZhiIndex)%10+1];
return getYearInGanZhi()+getMonthInGanZhi()+getDayInGanZhi()+timeGan+getTimeZhi();
}
/**
* 获取五行,根据八字推算
* @return 五行
*/
public String getWuXing(){
StringBuilder s = new StringBuilder();
String baZi = getBaZi();
for(int i=0,j=baZi.length();i<j;i++){
String letter = baZi.substring(i,i+1);
s.append(i%2==0?LunarUtil.WU_XING_GAN.get(letter):LunarUtil.WU_XING_ZHI.get(letter));
}
return s.toString();
}
public String toFullString(){
StringBuilder s = new StringBuilder();
s.append(toString());