[改](闰月正常显示)PHP日期操作类代码-农历-阳历转换
OrangeThinK 2022年07月30日 •  0
本文最后修改于 285 天前,部分内容可能已经过时!

源文件(解压缩即可)
PHP日期操作类代码-农历-阳历转换.zip

前段时间写了一个生日倒计时的小程序,然后发现,它不准,然后排查了一下原因发现是闰月没有计算到位,最后发现闰月无法正常显示的问题出现在getDaysBetweenLunar()这个函数对相隔天数的计算上,虽然对闰月情况进行了考虑,但是在这里没有进行调用,那么解决方法当然很简单,就是把它给加上去

闰月正常显示解决方法

在for循环前,判断月份是否需要加1

  $leapMonth = $this->getLeapMonths($year);  //调用getLeapMonths判断是否有闰月
if($leapMonth!==0 && $month>$leapMonth) $month ++;

代码如下,可以对照参考

 /**
  * 计算阴历日期与正月初一相隔的天数
  * @param year
  * @param month
  * @param date
  */
  function getDaysBetweenLunar($year,$month,$date)
  {
    $yearMonth = $this->getLunarMonths($year); //当年的每个月天数
    $leapMonth = $this->getLeapMonths($year);  //判断是否有闰月
    if($leapMonth!==0 && $month>$leapMonth) $month ++;//判断是否有存在闰月,如果有的话则++
    $res=0;
    for($i=1;$i<$month;$i++) $res +=$yearMonth[$i-1];
    $res+=$date-1;
    return $res;
  }
(草稿)你无法通过看图的方式让处女明白一些事情 打赏
请作者吃个鸡腿!
纯css实现Tab页切换

该页面评论已关闭