getNineStar method

NineStar getNineStar()

Implementation

NineStar getNineStar() {
  //顺逆
  String solarYmd = _lunar!.getSolar().toYmd();
  Map<String, Solar> jieQi = _lunar!.getJieQiTable();
  bool asc = false;
  if (solarYmd.compareTo(jieQi[I18n.getMessage('jq.dongZhi')]!.toYmd()) >= 0 &&
      solarYmd.compareTo(jieQi[I18n.getMessage('jq.xiaZhi')]!.toYmd()) < 0) {
    asc = true;
  }
  List<int> offset = asc ? [0, 3, 6] : [8, 5, 2];
  int start = offset[_lunar!.getDayZhiIndex() % 3];
  int index = asc ? (start + _zhiIndex) : (start + 9 - _zhiIndex);
  return NineStar(index);
}