getYearly12 function
流年诸星。
-
流年岁前诸星
- 流年地支起岁建,岁前首先是晦气,
- 丧门贯索及官符,小耗大耗龙德继,
- 白虎天德连吊客,病符居后须当记。
-
安流年将前诸星(按流年地支起将星)
- 寅午戍年将星午,申子辰年子将星,
- 巳酉丑将酉上驻,亥卯未将卯上停。
- 攀鞍岁驿并息神,华盖劫煞灾煞轻,
- 天煞指背咸池续,月煞亡神次第行。
@param solarDateStr 阳历日期字符串 @returns 流年诸星从寅宫开始的顺序
Implementation
Map<String, List<StarName>> getYearly12(String solarDateStr) {
List<StarName> jiangqian12 = List.filled(12, StarName.tai);
List<StarName> suiqian12 = List.filled(12, StarName.tai);
// 流年神煞应该用立春为界,但为了满足不同流派的需求允许配置
final yearly = getHeavenlyStemAndEarthlyBranchSolarDate(
solarDateStr, 0, getConfig().horoscopeDivide)
.yearly;
List<String> ts12shen = [
suiJian,
huiQi,
sangMen,
guanSuo,
gwanFu,
xiaoHao,
daHao,
longDe,
baiHu,
tianDe,
diaoKe,
bingFu,
];
for (int i = 0; i < ts12shen.length; i++) {
int idx = fixIndex(
fixEarthlyBranchIndex(getMyEarthlyBranchNameFrom(yearly[1])) + i);
suiqian12[idx] = getStarNameFrom(ts12shen[i]);
}
List<String> jq12shen = [
jiangXin,
panAn,
suiYi,
xiiShen,
huaGai,
jieSha,
zhaiSha,
tianSha,
zhiBei,
xianChi,
yueSha,
wangShen,
];
int jiangQian12StartIndex =
getJangQian12StartIndex(getMyEarthlyBranchNameFrom(yearly[1]));
for (int i = 0; i < jq12shen.length; i++) {
int idx = fixIndex(jiangQian12StartIndex + i);
jiangqian12[idx] = getStarNameFrom(jq12shen[i]);
}
return {"jiangqian12": jiangqian12, "suiqian12": suiqian12};
}