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

八字增加可选流派(1晚子时日柱算明天,2晚子时日柱算当天,默认2)。

This commit is contained in:
6tail
2020-12-17 23:03:18 +08:00
parent bd19489441
commit b9acfec4d5
4 changed files with 157 additions and 28 deletions

View File

@@ -208,7 +208,7 @@ public class Solar{
}
/**
* 通过八字获取阳历列表
* 通过八字获取阳历列表(晚子时日柱按当天)
* @param yearGanZhi 年柱
* @param monthGanZhi 月柱
* @param dayGanZhi 日柱
@@ -216,6 +216,20 @@ public class Solar{
* @return 符合的阳历列表
*/
public static List<Solar> fromBaZi(String yearGanZhi,String monthGanZhi,String dayGanZhi,String timeGanZhi){
return fromBaZi(yearGanZhi,monthGanZhi,dayGanZhi,timeGanZhi,2);
}
/**
* 通过八字获取阳历列表
* @param yearGanZhi 年柱
* @param monthGanZhi 月柱
* @param dayGanZhi 日柱
* @param timeGanZhi 时柱
* @param sect 流派2晚子时日柱按当天1晚子时日柱按明天
* @return 符合的阳历列表
*/
public static List<Solar> fromBaZi(String yearGanZhi,String monthGanZhi,String dayGanZhi,String timeGanZhi,int sect){
sect = (1==sect)?1:2;
List<Solar> l = new ArrayList<Solar>();
Solar today = new Solar();
Lunar lunar = today.getLunar();
@@ -271,7 +285,8 @@ public class Solar{
Solar solar = new Solar(year, month, day, hour, 0, 0);
while (counter < 61) {
lunar = solar.getLunar();
if (lunar.getYearInGanZhiExact().equals(yearGanZhi) && lunar.getMonthInGanZhiExact().equals(monthGanZhi) && lunar.getDayInGanZhiExact().equals(dayGanZhi) && lunar.getTimeInGanZhi().equals(timeGanZhi)) {
String dgz = (2==sect)?lunar.getDayInGanZhiExact2():lunar.getDayInGanZhiExact();
if (lunar.getYearInGanZhiExact().equals(yearGanZhi) && lunar.getMonthInGanZhiExact().equals(monthGanZhi) && dgz.equals(dayGanZhi) && lunar.getTimeInGanZhi().equals(timeGanZhi)) {
l.add(solar);
break;
}