getMajorStarBySolarDate function
通过阳历获取命宫主星
@version v1.2.1
@param solarDateStr 阳历日期【YYYY-M-D】 @param timeIndex 出生时辰序号【0~12】 @param fixLeap 是否调整闰月情况【默认 true】,假入调整闰月,则闰月的前半个月算上个月,后半个月算下个月 @returns 命宫主星
Implementation
String getMajorStarBySolarDate(String solarDateStr, int timeIndex,
[bool fixLeap = true]) {
final bodyIndex = getSoulAndBody(solarDateStr, timeIndex, fixLeap).bodyIndex;
final majorStars = getMajorStar(solarDateStr, timeIndex);
final stars =
majorStars[bodyIndex].where((star) => star.type == StarType.major);
if (stars.isNotEmpty) {
return stars.map((star) => star.name.title).join(',');
}
return majorStars[fixIndex(bodyIndex + 6)]
.where((star) => star.type == StarType.major)
.map((star) => star.name.title)
.join(',');
}