getMajorStarBySolarDate function

String getMajorStarBySolarDate(
  1. String solarDateStr,
  2. int timeIndex, [
  3. bool fixLeap = true
])

通过阳历获取命宫主星

@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(',');
}