getDayXiongSha static method

List<String> getDayXiongSha(
  1. int monthZhiIndex,
  2. String dayGanZhi
)

Implementation

static List<String> getDayXiongSha(int monthZhiIndex, String dayGanZhi) {
  List<String> l = <String>[];
  int m = monthZhiIndex - 2;
  if (m < 0) {
    m += 12;
  }
  int jiaZiIndex = getJiaZiIndex(dayGanZhi);
  RegExp regExp = RegExp(';${jiaZiIndex.toRadixString(16).padLeft(2, '0')}(.[^;]*)');
  Match? match = regExp.firstMatch(DAY_SHEN_SHA[m]);
  if (match != null) {
    String data = match.group(1)!;
    for (int i = 0; i < data.length; i += 2) {
      int index = int.parse(data.substring(i, i + 2), radix: 16);
      if (index >= 60) {
        l.add(SHEN_SHA[index]);
      }
    }
  }
  if (l.isEmpty) {
    l.add('无');
  }
  return l;
}