干支的年份计算错了 2022-01-20 是辛丑年 算成了壬寅年
xiongjinchao opened this issue · 0 comments
xiongjinchao commented
* 农历年份转换为干支纪年.
*
* @param int $lunarYear
* @param null|int $termIndex
*
* @return string
*/
public function ganZhiYear($lunarYear, $termIndex = null)
{
/**
* 据维基百科干支词条:『在西历新年后,华夏新年或干支历新年之前,则续用上一年之干支』
* 所以干支年份应该不需要根据节气校正,为免影响现有系统,此处暂时保留原有逻辑
* https://zh.wikipedia.org/wiki/%E5%B9%B2%E6%94%AF.
*
* 即使考虑节气,有的年份没有立春,有的年份有两个立春,此处逻辑仍不能处理该特殊情况
*/
$adjust = (null !== $termIndex && 3 > $termIndex) ? 1 : 0;
$ganKey = ($lunarYear + $adjust - 4) % 10;
$zhiKey = ($lunarYear + $adjust - 4) % 12;
return $this->gan[$ganKey].$this->zhi[$zhiKey];
}```
这里 3 > $termIndex 应该是 3 <= $termIndex
我没有仔细研究农历,你看看这里是不是写错了。