getTimeNineStar method
Implementation
NineStar getTimeNineStar() {
//顺逆
String solarYmd = _solar!.toYmd();
bool asc = false;
if (solarYmd.compareTo(getJieQiSolar(I18n.getMessage('jq.dongZhi')).toYmd()) >= 0 &&
solarYmd.compareTo(getJieQiSolar(I18n.getMessage('jq.xiaZhi')).toYmd()) < 0) {
asc = true;
} else if (solarYmd.compareTo(getJieQiSolar('DONG_ZHI').toYmd()) >= 0) {
asc = true;
}
List<int> offset = asc ? [0, 3, 6] : [8, 5, 2];
int start = offset[getDayZhiIndex() % 3];
int index = asc ? (start + _timeZhiIndex) : (start + 9 - _timeZhiIndex);
return new NineStar(index % 9);
}