修复星宿计算错误的问题;增加农历星期的获取。
This commit is contained in:
@@ -330,13 +330,31 @@ public class Lunar{
|
||||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取星期,0代表周日,1代表周一
|
||||
*
|
||||
* @return 0123456
|
||||
*/
|
||||
public int getWeek(){
|
||||
return (dayOffset+LunarUtil.BASE_WEEK_INDEX)%7;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取星期的中文
|
||||
*
|
||||
* @return 日一二三四五六
|
||||
*/
|
||||
public String getWeekInChinese(){
|
||||
return SolarUtil.WEEK[getWeek()];
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取宿
|
||||
*
|
||||
* @return 宿
|
||||
*/
|
||||
public String getXiu(){
|
||||
return LunarUtil.XIU[day-1][Math.abs(month)-1];
|
||||
return LunarUtil.XIU.get(getDayZhi()+getWeek());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -659,14 +677,14 @@ public class Lunar{
|
||||
s.append(getDayInGanZhi());
|
||||
s.append("(");
|
||||
s.append(getDayShengXiao());
|
||||
s.append(")日");
|
||||
s.append(" 纳音[");
|
||||
s.append(")日 纳音[");
|
||||
s.append(getYearNaYin());
|
||||
s.append(" ");
|
||||
s.append(getMonthNaYin());
|
||||
s.append(" ");
|
||||
s.append(getDayNaYin());
|
||||
s.append("]");
|
||||
s.append("] 星期");
|
||||
s.append(getWeekInChinese());
|
||||
for(String f:getFestivals()){
|
||||
s.append(" (");
|
||||
s.append(f);
|
||||
|
||||
@@ -21,6 +21,8 @@ public class LunarUtil{
|
||||
public static final int BASE_DAY_GANZHI_INDEX = 15;
|
||||
/** 月份地支偏移量,因正月起寅 */
|
||||
public static final int BASE_MONTH_ZHI_INDEX = 2;
|
||||
/** 星期偏移量 */
|
||||
public static final int BASE_WEEK_INDEX = 2;
|
||||
/** 闰年表 */
|
||||
public static final int[] LEAP_MONTH_YEAR = {6,14,19,25,33,36,38,41,44,52,55,79,117,136,147,150,155,158,185,193};
|
||||
/** 闰月表 */
|
||||
@@ -167,38 +169,106 @@ public class LunarUtil{
|
||||
put("12-29",Collections.nCopies(1,"华严菩萨诞"));
|
||||
}
|
||||
};
|
||||
/** 宿 */
|
||||
public static final String[][] XIU = {
|
||||
{"室","奎","胃","毕","参","鬼","张","角","氐","心","斗","虚"},
|
||||
{"壁","娄","昴","觜","井","柳","翼","亢","房","尾","女","危"},
|
||||
{"奎","胃","毕","参","鬼","星","轸","氐","心","箕","虚","室"},
|
||||
{"娄","昴","觜","井","柳","张","角","房","尾","斗","危","壁"},
|
||||
{"胃","毕","参","鬼","星","翼","亢","心","箕","女","室","奎"},
|
||||
{"昴","觜","井","柳","张","轸","氐","尾","斗","虚","壁","娄"},
|
||||
{"毕","参","鬼","星","翼","角","房","箕","女","危","奎","胃"},
|
||||
{"觜","井","柳","张","轸","亢","心","斗","虚","室","娄","昴"},
|
||||
{"参","鬼","星","翼","角","氐","尾","女","危","壁","胃","毕"},
|
||||
{"井","柳","张","轸","亢","房","箕","虚","室","奎","昴","觜"},
|
||||
{"鬼","星","翼","角","氐","心","斗","危","壁","娄","毕","参"},
|
||||
{"柳","张","轸","亢","房","尾","女","室","奎","胃","觜","井"},
|
||||
{"星","翼","角","氐","心","箕","虚","壁","娄","昴","参","鬼"},
|
||||
{"张","轸","亢","房","尾","斗","危","奎","胃","毕","井","柳"},
|
||||
{"翼","角","氐","心","箕","女","室","娄","昴","觜","鬼","星"},
|
||||
{"轸","亢","房","尾","斗","虚","壁","胃","毕","参","柳","张"},
|
||||
{"角","氐","心","箕","女","危","奎","昴","觜","井","星","翼"},
|
||||
{"亢","房","尾","斗","虚","室","娄","毕","参","鬼","张","轸"},
|
||||
{"氐","心","箕","女","危","壁","胃","觜","井","柳","翼","角"},
|
||||
{"房","尾","斗","虚","室","奎","昴","参","鬼","星","轸","亢"},
|
||||
{"心","箕","女","危","壁","娄","毕","井","柳","张","角","氐"},
|
||||
{"尾","斗","虚","室","奎","胃","觜","鬼","星","翼","亢","房"},
|
||||
{"箕","女","危","壁","娄","昴","参","柳","张","轸","氐","心"},
|
||||
{"斗","虚","室","奎","胃","毕","井","星","翼","角","房","尾"},
|
||||
{"女","危","壁","娄","昴","觜","鬼","张","轸","亢","心","箕"},
|
||||
{"虚","室","奎","胃","毕","参","柳","翼","角","氐","尾","斗"},
|
||||
{"危","壁","娄","昴","觜","井","星","轸","亢","房","箕","女"},
|
||||
{"室","奎","胃","毕","参","鬼","张","角","氐","心","斗","虚"},
|
||||
{"壁","娄","昴","觜","井","柳","翼","亢","房","尾","女","危"},
|
||||
{"胃","鬼","氐","心","虚","星","轸","氐","心","箕","虚","室"}
|
||||
/** 28星宿对照表,地支+星期 */
|
||||
public static final Map<String,String> XIU = new HashMap<String,String>(){
|
||||
private static final long serialVersionUID = -1;
|
||||
{
|
||||
put("申1","毕");
|
||||
put("申2","翌");
|
||||
put("申3","箕");
|
||||
put("申4","奎");
|
||||
put("申5","鬼");
|
||||
put("申6","氐");
|
||||
put("申0","虚");
|
||||
|
||||
put("子1","毕");
|
||||
put("子2","翌");
|
||||
put("子3","箕");
|
||||
put("子4","奎");
|
||||
put("子5","鬼");
|
||||
put("子6","氐");
|
||||
put("子0","虚");
|
||||
|
||||
put("辰1","毕");
|
||||
put("辰2","翌");
|
||||
put("辰3","箕");
|
||||
put("辰4","奎");
|
||||
put("辰5","鬼");
|
||||
put("辰6","氐");
|
||||
put("辰0","虚");
|
||||
|
||||
put("巳1","危");
|
||||
put("巳2","觜");
|
||||
put("巳3","轸");
|
||||
put("巳4","斗");
|
||||
put("巳5","娄");
|
||||
put("巳6","柳");
|
||||
put("巳0","房");
|
||||
|
||||
put("酉1","危");
|
||||
put("酉2","觜");
|
||||
put("酉3","轸");
|
||||
put("酉4","斗");
|
||||
put("酉5","娄");
|
||||
put("酉6","柳");
|
||||
put("酉0","房");
|
||||
|
||||
put("丑1","危");
|
||||
put("丑2","觜");
|
||||
put("丑3","轸");
|
||||
put("丑4","斗");
|
||||
put("丑5","娄");
|
||||
put("丑6","柳");
|
||||
put("丑0","房");
|
||||
|
||||
put("寅1","心");
|
||||
put("寅2","室");
|
||||
put("寅3","参");
|
||||
put("寅4","角");
|
||||
put("寅5","牛");
|
||||
put("寅6","胃");
|
||||
put("寅0","星");
|
||||
|
||||
put("午1","心");
|
||||
put("午2","室");
|
||||
put("午3","参");
|
||||
put("午4","角");
|
||||
put("午5","牛");
|
||||
put("午6","胃");
|
||||
put("午0","星");
|
||||
|
||||
put("戌1","心");
|
||||
put("戌2","室");
|
||||
put("戌3","参");
|
||||
put("戌4","角");
|
||||
put("戌5","牛");
|
||||
put("戌6","胃");
|
||||
put("戌0","星");
|
||||
|
||||
put("亥1","张");
|
||||
put("亥2","尾");
|
||||
put("亥3","壁");
|
||||
put("亥4","井");
|
||||
put("亥5","亢");
|
||||
put("亥6","女");
|
||||
put("亥0","昴");
|
||||
|
||||
put("卯1","张");
|
||||
put("卯2","尾");
|
||||
put("卯3","壁");
|
||||
put("卯4","井");
|
||||
put("卯5","亢");
|
||||
put("卯6","女");
|
||||
put("卯0","昴");
|
||||
|
||||
put("未1","张");
|
||||
put("未2","尾");
|
||||
put("未3","壁");
|
||||
put("未4","井");
|
||||
put("未5","亢");
|
||||
put("未6","女");
|
||||
put("未0","昴");
|
||||
}
|
||||
};
|
||||
/** 兽 */
|
||||
public static final Map<String,String> SHOU = new HashMap<String,String>(){
|
||||
@@ -210,7 +280,7 @@ public class LunarUtil{
|
||||
put("北","玄武");
|
||||
}
|
||||
};
|
||||
/** 冲,即地支冲(子午相冲,丑未相冲,寅申相冲,辰戌相冲,卯酉相冲,巳亥相冲),由于地支对应十二生肖,也就对应了生肖相冲 */
|
||||
/** 地支相冲(子午相冲,丑未相冲,寅申相冲,辰戌相冲,卯酉相冲,巳亥相冲),由于地支对应十二生肖,也就对应了生肖相冲 */
|
||||
public static final Map<String,String> CHONG = new HashMap<String,String>(){
|
||||
private static final long serialVersionUID = -1;
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user