公历2022年12月7日(冬月十四)的每日宜忌和中华万年历等日历算出的结果不同
bigbiglemon opened this issue · comments
api => Lunar.getDayYi()
功能 => 每日宜忌
详情 => 公历2022年12月7日(冬月十四)的每日宜忌和中华万年历等多个日历算出的结果不同,其他日期是相同的(还在找规律)。
找到原因了:算法中月对应的天干地支下标计算错误
2022年12月07日, 大雪对应的时间是 2022-12-07 11:46:09。由于计算中使用对比时间精确到了十分秒,导致在11:46:09之前的计算会算作上一个天干地支月下标
···
start = null;
index = -3;
for (int i = 0; i < size; i += 2) {
end = jieQi.get(JIE_QI_IN_USE[i]);
String stime = null == start ? time : start.toYmdHms();
// 问题出在这个时间对比上
if (time.compareTo(stime) >= 0 && time.compareTo(end.toYmdHms()) < 0) {
break;
}
start = end;
index++;
}
···
已在项目中修改 ,希望作者抽空修复,非常感谢作者的开源
看到作者已经在最新版新增了两种模式,之前拉取的是19版的源码,打扰打扰~