1
0
mirror of synced 2025-12-27 07:48:00 +08:00

增加建除十二值星;增加青龙、明堂十二天神;增加黄道、黑道日及吉凶。

This commit is contained in:
6tail
2020-04-08 23:58:29 +08:00
parent 4c39445ada
commit 28b9add0e7
2 changed files with 87 additions and 6 deletions

View File

@@ -880,10 +880,10 @@ public class Lunar{
}
/**
* 获取建除十二神,当月支与日支相同即为建,依次类推
* @return 十二神
* 获取十二执星:建、除、满、平、定、执、破、危、成、收、开、闭。当月支与日支相同即为建,依次类推
* @return 执星
*/
public String getShiErShen(){
public String getZhiXing(){
String monthZhi = getMonthZhi();
String dayZhi = getDayZhi();
int indexMonthZhi = 0;
@@ -904,7 +904,41 @@ public class Lunar{
if(add<0){
add = 12+add;
}
return LunarUtil.SHI_ER_SHEN[1+add];
return LunarUtil.ZHI_XING[1+add];
}
/**
* 获取值日天神
* @return 值日天神
*/
public String getDayTianShen(){
String monthZhi = getMonthZhi();
String dayZhi = getDayZhi();
int offset = LunarUtil.MONTH_ZHI_TIAN_SHEN_OFFSET.get(monthZhi);
int dayIndex = 0;
for(int i=0,j=LunarUtil.ZHI.length;i<j;i++){
if(LunarUtil.ZHI[i].equals(dayZhi)){
dayIndex = i;
break;
}
}
return LunarUtil.TIAN_SHEN[1+(dayIndex-1+offset)%12];
}
/**
* 获取值日天神类型:黄道/黑道
* @return 值日天神类型:黄道/黑道
*/
public String getDayTianShenType(){
return LunarUtil.TIAN_SHEN_TYPE.get(getDayTianShen());
}
/**
* 获取值日天神吉凶
* @return 吉/凶
*/
public String getDayTianShenLuck(){
return LunarUtil.TIAN_SHEN_TYPE_LUCK.get(getDayTianShenType());
}
public String toFullString(){

View File

@@ -47,8 +47,55 @@ public class LunarUtil{
public static final String[] POSITION_CAI = {"","","","","","","","","","",""};
/** 地支 */
public static final String[] ZHI = {"","","","","","","","","","","","",""};
/** 建除十二神 */
public static final String[] SHI_ER_SHEN = {"","","","","","","","","","","","",""};
/** 十二值星 */
public static final String[] ZHI_XING = {"","","","","","","","","","","","",""};
/** 十二天神 */
public static final String[] TIAN_SHEN = {"","青龙","明堂","天刑","朱雀","金匮","天德","白虎","玉堂","天牢","玄武","司命","勾陈"};
/** 月份地支对应天神偏移下标 */
public static final Map<String,Integer> MONTH_ZHI_TIAN_SHEN_OFFSET = new HashMap<String, Integer>(){
private static final long serialVersionUID = -1L;
{
put("",4);
put("",2);
put("",0);
put("",10);
put("",8);
put("",6);
put("",4);
put("",2);
put("",0);
put("",10);
put("",8);
put("",6);
}
};
/** 天神类型:黄道,黑道 */
public static final Map<String,String> TIAN_SHEN_TYPE = new HashMap<String, String>(){
private static final long serialVersionUID = -1L;
{
put("青龙","黄道");
put("明堂","黄道");
put("金贵","黄道");
put("天德","黄道");
put("玉堂","黄道");
put("司命","黄道");
put("天刑","黑道");
put("朱雀","黄道");
put("白虎","黄道");
put("天牢","黄道");
put("玄武","黄道");
put("勾陈","黄道");
}
};
/** 天神类型吉凶 */
public static final Map<String,String> TIAN_SHEN_TYPE_LUCK = new HashMap<String, String>(){
private static final long serialVersionUID = -1L;
{
put("黄道","");
put("黑道","");
}
};
/** 彭祖百忌.天干 */
public static final String[] PENGZU_GAN = {"","甲不开仓财物耗散","乙不栽植千株不长","丙不修灶必见灾殃","丁不剃头头必生疮","戊不受田田主不祥","己不破券二比并亡","庚不经络织机虚张","辛不合酱主人不尝","壬不泱水更难提防","癸不词讼理弱敌强"};
/** 彭祖百忌.地支 */