Heim Backend-Entwicklung PHP-Tutorial PHP-Methode zum Abrufen des Mondkalenders, der Feste und der Sonnenbedingungen (Codebeispiel)

PHP-Methode zum Abrufen des Mondkalenders, der Feste und der Sonnenbedingungen (Codebeispiel)

Feb 01, 2020 pm 03:20 PM
php

PHP-Methode zum Abrufen des Mondkalenders, der Feste und der Sonnenbedingungen (Codebeispiel)

So erhalten Sie den Mondkalender, die Feste und die Sonnenbedingungen in PHP

Der spezifische Code lautet wie folgt:

/*  
 * 农历 节气 节日 
 * edit: www.jbxue.com 
 */  
header("Content-Type:text/html;charset=utf-8");  
class Lunar   
{    
    var $MIN_YEAR = 1891;    
    var $MAX_YEAR = 2100;    
    var $lunarInfo = array(    
    array(0,2,9,21936),array(6,1,30,9656),array(0,2,17,9584),array(0,2,6,21168),array(5,1,26,43344),array(0,2,13,59728),    
    array(0,2,2,27296),array(3,1,22,44368),array(0,2,10,43856),array(8,1,30,19304),array(0,2,19,19168),array(0,2,8,42352),    
    array(5,1,29,21096),array(0,2,16,53856),array(0,2,4,55632),array(4,1,25,27304),array(0,2,13,22176),array(0,2,2,39632),    
    array(2,1,22,19176),array(0,2,10,19168),array(6,1,30,42200),array(0,2,18,42192),array(0,2,6,53840),array(5,1,26,54568),    
    array(0,2,14,46400),array(0,2,3,54944),array(2,1,23,38608),array(0,2,11,38320),array(7,2,1,18872),array(0,2,20,18800),    
    array(0,2,8,42160),array(5,1,28,45656),array(0,2,16,27216),array(0,2,5,27968),array(4,1,24,44456),array(0,2,13,11104),    
    array(0,2,2,38256),array(2,1,23,18808),array(0,2,10,18800),array(6,1,30,25776),array(0,2,17,54432),array(0,2,6,59984),    
    array(5,1,26,27976),array(0,2,14,23248),array(0,2,4,11104),array(3,1,24,37744),array(0,2,11,37600),array(7,1,31,51560),    
    array(0,2,19,51536),array(0,2,8,54432),array(6,1,27,55888),array(0,2,15,46416),array(0,2,5,22176),array(4,1,25,43736),    
    array(0,2,13,9680),array(0,2,2,37584),array(2,1,22,51544),array(0,2,10,43344),array(7,1,29,46248),array(0,2,17,27808),    
    array(0,2,6,46416),array(5,1,27,21928),array(0,2,14,19872),array(0,2,3,42416),array(3,1,24,21176),array(0,2,12,21168),    
    array(8,1,31,43344),array(0,2,18,59728),array(0,2,8,27296),array(6,1,28,44368),array(0,2,15,43856),array(0,2,5,19296),    
    array(4,1,25,42352),array(0,2,13,42352),array(0,2,2,21088),array(3,1,21,59696),array(0,2,9,55632),array(7,1,30,23208),    
    array(0,2,17,22176),array(0,2,6,38608),array(5,1,27,19176),array(0,2,15,19152),array(0,2,3,42192),array(4,1,23,53864),    
    array(0,2,11,53840),array(8,1,31,54568),array(0,2,18,46400),array(0,2,7,46752),array(6,1,28,38608),array(0,2,16,38320),    
    array(0,2,5,18864),array(4,1,25,42168),array(0,2,13,42160),array(10,2,2,45656),array(0,2,20,27216),array(0,2,9,27968),    
    array(6,1,29,44448),array(0,2,17,43872),array(0,2,6,38256),array(5,1,27,18808),array(0,2,15,18800),array(0,2,4,25776),    
    array(3,1,23,27216),array(0,2,10,59984),array(8,1,31,27432),array(0,2,19,23232),array(0,2,7,43872),array(5,1,28,37736),    
    array(0,2,16,37600),array(0,2,5,51552),array(4,1,24,54440),array(0,2,12,54432),array(0,2,1,55888),array(2,1,22,23208),    
    array(0,2,9,22176),array(7,1,29,43736),array(0,2,18,9680),array(0,2,7,37584),array(5,1,26,51544),array(0,2,14,43344),    
    array(0,2,3,46240),array(4,1,23,46416),array(0,2,10,44368),array(9,1,31,21928),array(0,2,19,19360),array(0,2,8,42416),    
    array(6,1,28,21176),array(0,2,16,21168),array(0,2,5,43312),array(4,1,25,29864),array(0,2,12,27296),array(0,2,1,44368),    
    array(2,1,22,19880),array(0,2,10,19296),array(6,1,29,42352),array(0,2,17,42208),array(0,2,6,53856),array(5,1,26,59696),    
    array(0,2,13,54576),array(0,2,3,23200),array(3,1,23,27472),array(0,2,11,38608),array(11,1,31,19176),array(0,2,19,19152),    
    array(0,2,8,42192),array(6,1,28,53848),array(0,2,15,53840),array(0,2,4,54560),array(5,1,24,55968),array(0,2,12,46496),    
    array(0,2,1,22224),array(2,1,22,19160),array(0,2,10,18864),array(7,1,30,42168),array(0,2,17,42160),array(0,2,6,43600),    
    array(5,1,26,46376),array(0,2,14,27936),array(0,2,2,44448),array(3,1,23,21936),array(0,2,11,37744),array(8,2,1,18808),    
    array(0,2,19,18800),array(0,2,8,25776),array(6,1,28,27216),array(0,2,15,59984),array(0,2,4,27424),array(4,1,24,43872),    
    array(0,2,12,43744),array(0,2,2,37600),array(3,1,21,51568),array(0,2,9,51552),array(7,1,29,54440),array(0,2,17,54432),    
    array(0,2,5,55888),array(5,1,26,23208),array(0,2,14,22176),array(0,2,3,42704),array(4,1,23,21224),array(0,2,11,21200),    
    array(8,1,31,43352),array(0,2,19,43344),array(0,2,7,46240),array(6,1,27,46416),array(0,2,15,44368),array(0,2,5,21920),    
    array(4,1,24,42448),array(0,2,12,42416),array(0,2,2,21168),array(3,1,22,43320),array(0,2,9,26928),array(7,1,29,29336),    
    array(0,2,17,27296),array(0,2,6,44368),array(5,1,26,19880),array(0,2,14,19296),array(0,2,3,42352),array(4,1,24,21104),    
    array(0,2,10,53856),array(8,1,30,59696),array(0,2,18,54560),array(0,2,7,55968),array(6,1,27,27472),array(0,2,15,22224),    
    array(0,2,5,19168),array(4,1,25,42216),array(0,2,12,42192),array(0,2,1,53584),array(2,1,21,55592),array(0,2,9,54560)    
    );    
      
    /**   
    * 将阳历转换为阴历   
    * @param year 公历-年   
    * @param month 公历-月   
    * @param date 公历-日   
    */    
    function convertSolarToLunar($year,$month,$date)  
    {    
        //debugger;    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        if($year==$this->MIN_YEAR&&$month<=2&&$date<=9) return array(1891,&#39;正月&#39;,&#39;初一&#39;,&#39;辛卯&#39;,1,1,&#39;兔&#39;);    
        return $this->getLunarByBetween($year,$this->getDaysBetweenSolar($year,$month,$date,$yearData[1],$yearData[2]));    
    }    
       
    function convertSolarMonthToLunar($year,$month)   
    {    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        if($year==$this->MIN_YEAR&&$month<=2&&$date<=9) return array(1891,&#39;正月&#39;,&#39;初一&#39;,&#39;辛卯&#39;,1,1,&#39;兔&#39;);    
        $month_days_ary = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);    
        $dd = $month_days_ary[$month];    
        if($this->isLeapYear($year) && $month == 2) $dd++;    
        $lunar_ary = array();    
        for ($i = 1; $i < $dd; $i++)   
        {    
            $array = $this->getLunarByBetween($year,$this->getDaysBetweenSolar($year, $month, $i, $yearData[1], $yearData[2]));    
            $array[] = $year . &#39;-&#39; . $month . &#39;-&#39; . $i;    
            $lunar_ary[$i] = $array;    
        }    
        return $lunar_ary;    
    }  
        
    /**   
    * 将阴历转换为阳历   
    * @param year 阴历-年   
    * @param month 阴历-月,闰月处理:例如如果当年闰五月,那么第二个五月就传六月,相当于阴历有13个月,只是有的时候第13个月的天数为0   
    * @param date 阴历-日   
    */    
    function convertLunarToSolar($year,$month,$date)  
    {    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        $between = $this->getDaysBetweenLunar($year,$month,$date);    
        $res = mktime(0,0,0,$yearData[1],$yearData[2],$year);    
        $res = date(&#39;Y-m-d&#39;, $res+$between*24*60*60);    
        $day = explode(&#39;-&#39;, $res);    
        $year = $day[0];    
        $month= $day[1];    
        $day = $day[2];    
        return array($year, $month, $day);    
    }    
      
    /**   
    * 判断是否是闰年   
    * @param year   
    */    
    function isLeapYear($year)  
    {    
        return (($year%4==0 && $year%100 !=0) || ($year%400==0));    
    }  
        
    /**   
    * 获取干支纪年   
    * @param year   
    */    
    function getLunarYearName($year)  
    {    
        $sky = array(&#39;庚&#39;,&#39;辛&#39;,&#39;壬&#39;,&#39;癸&#39;,&#39;甲&#39;,&#39;乙&#39;,&#39;丙&#39;,&#39;丁&#39;,&#39;戊&#39;,&#39;己&#39;);    
        $earth = array(&#39;申&#39;,&#39;酉&#39;,&#39;戌&#39;,&#39;亥&#39;,&#39;子&#39;,&#39;丑&#39;,&#39;寅&#39;,&#39;卯&#39;,&#39;辰&#39;,&#39;巳&#39;,&#39;午&#39;,&#39;未&#39;);    
        $year = $year.&#39;&#39;;    
        return $sky[$year{3}].$earth[$year%12];    
    }    
      
    /**   
    * 根据阴历年获取生肖   
    * @param year 阴历年   
    */    
    function getYearZodiac($year)  
    {    
        $zodiac = array(&#39;猴&#39;,&#39;鸡&#39;,&#39;狗&#39;,&#39;猪&#39;,&#39;鼠&#39;,&#39;牛&#39;,&#39;虎&#39;,&#39;兔&#39;,&#39;龙&#39;,&#39;蛇&#39;,&#39;马&#39;,&#39;羊&#39;);    
        return $zodiac[$year%12];    
    }    
      
    /**   
    * 获取阳历月份的天数   
    * @param year 阳历-年   
    * @param month 阳历-月   
    */    
    function getSolarMonthDays($year,$month)  
    {    
        $monthHash = array(&#39;1&#39;=>31,&#39;2&#39;=>$this->isLeapYear($year)?29:28,&#39;3&#39;=>31,&#39;4&#39;=>30,&#39;5&#39;=>31,&#39;6&#39;=>30,&#39;7&#39;=>31,&#39;8&#39;=>31,&#39;9&#39;=>30,&#39;10&#39;=>31,&#39;11&#39;=>30,&#39;12&#39;=>31);    
        return $monthHash["$month"];    
    }    
      
    /**   
    * 获取阴历月份的天数   
    * @param year 阴历-年   
    * @param month 阴历-月,从一月开始   
    */    
    function getLunarMonthDays($year,$month)  
    {    
        $monthData = $this->getLunarMonths($year);    
        return $monthData[$month-1];    
    }    
      
    /**   
    * 获取阴历每月的天数的数组   
    * @param year   
    */    
    function getLunarMonths($year)  
    {    
        $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];    
        $leapMonth = $yearData[0];    
        $bit = decbin($yearData[3]);    
        for ($i = 0; $i < strlen($bit);$i ++) $bitArray[$i] = substr($bit, $i, 1);    
        for($k=0,$klen=16-count($bitArray);$k<$klen;$k++) array_unshift($bitArray, &#39;0&#39;);    
        $bitArray = array_slice($bitArray,0,($leapMonth==0?12:13));    
        for($i=0; $i<count($bitArray); $i++) $bitArray[$i] = $bitArray[$i] + 29;    
        return $bitArray;    
    }    
      
    /**   
    * 获取农历每年的天数   
    * @param year 农历年份   
    */    
    function getLunarYearDays($year)  
    {    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        $monthArray = $this->getLunarYearMonths($year);    
        $len = count($monthArray);    
        return ($monthArray[$len-1]==0?$monthArray[$len-2]:$monthArray[$len-1]);    
    }    
      
    function getLunarYearMonths($year)  
    {    
        //debugger;    
        $monthData = $this->getLunarMonths($year);    
        $res=array();    
        $temp=0;    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        $len = ($yearData[0]==0?12:13);    
        for($i=0;$i<$len;$i++)  
        {    
            $temp=0;    
            for($j=0;$j<=$i;$j++) $temp+=$monthData[$j];    
            array_push($res, $temp);    
        }    
        return $res;    
    }    
      
    /**   
    * 获取闰月   
    * @param year 阴历年份   
    */    
    function getLeapMonth($year)  
    {    
        $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];    
        return $yearData[0];    
    }   
       
    /**   
    * 计算阴历日期与正月初一相隔的天数   
    * @param year   
    * @param month   
    * @param date   
    */    
    function getDaysBetweenLunar($year,$month,$date)  
    {    
        $yearMonth = $this->getLunarMonths($year);    
        $res=0;    
        for($i=1;$i<$month;$i++) $res +=$yearMonth[$i-1];    
        $res+=$date-1;    
        return $res;    
    }   
       
    /**   
    * 计算2个阳历日期之间的天数   
    * @param year 阳历年   
    * @param cmonth   
    * @param cdate   
    * @param dmonth 阴历正月对应的阳历月份   
    * @param ddate 阴历初一对应的阳历天数   
    */    
    function getDaysBetweenSolar($year,$cmonth,$cdate,$dmonth,$ddate)  
    {    
        $a = mktime(0,0,0,$cmonth,$cdate,$year);    
        $b = mktime(0,0,0,$dmonth,$ddate,$year);    
        return ceil(($a-$b)/24/3600);    
    }   
       
    /**   
    * 根据距离正月初一的天数计算阴历日期   
    * @param year 阳历年   
    * @param between 天数   
    */    
    function getLunarByBetween($year,$between)  
    {    
        //debugger;    
        $lunarArray = array();    
        $yearMonth=array();    
        $t=0;    
        $e=0;    
        $leapMonth=0;    
        $m=&#39;&#39;;    
        if($between==0)  
        {    
            array_push($lunarArray, $year,&#39;正月&#39;,&#39;初一&#39;);    
            $t = 1;    
            $e = 1;    
        }  
        else  
        {    
            $year = $between>0? $year : ($year-1);    
            $yearMonth = $this->getLunarYearMonths($year);    
            $leapMonth = $this->getLeapMonth($year);    
            $between = $between>0?$between : ($this->getLunarYearDays($year)+$between);    
            for($i=0;$i<13;$i++)  
            {    
                if($between==$yearMonth[$i])  
                {    
                    $t=$i+2;    
                    $e=1;    
                    break;    
                }else if($between<$yearMonth[$i])  
                {    
                    $t=$i+1;    
                    $e=$between-(empty($yearMonth[$i-1])?0:$yearMonth[$i-1])+1;    
                    break;    
                }    
            }    
            $m = ($leapMonth!=0&&$t==$leapMonth+1)?(&#39;闰&#39;.$this->getCapitalNum($t- 1,true)):$this->getCapitalNum(($leapMonth!=0&&$leapMonth+1<$t?($t-1):$t),true);    
            array_push($lunarArray,$year,$m,$this->getCapitalNum($e,false));    
        }    
        array_push($lunarArray,$this->getLunarYearName($year));// 天干地支    
        array_push($lunarArray,$t,$e);    
        array_push($lunarArray,$this->getYearZodiac($year));// 12生肖    
        array_push($lunarArray,$leapMonth);// 闰几月    
        return $lunarArray;    
    }    
  
    /**   
    * 获取数字的阴历叫法   
    * @param num 数字   
    * @param isMonth 是否是月份的数字   
    */    
    function getCapitalNum($num,$isMonth)  
    {    
        $isMonth = $isMonth || false;    
        $dateHash=array(&#39;0&#39;=>&#39;&#39;,&#39;1&#39;=>&#39;一&#39;,&#39;2&#39;=>&#39;二&#39;,&#39;3&#39;=>&#39;三&#39;,&#39;4&#39;=>&#39;四&#39;,&#39;5&#39;=>&#39;五&#39;,&#39;6&#39;=>&#39;六&#39;,&#39;7&#39;=>&#39;七&#39;,&#39;8&#39;=>&#39;八&#39;,&#39;9&#39;=>&#39;九&#39;,&#39;10&#39;=>&#39;十 &#39;);    
        $monthHash=array(&#39;0&#39;=>&#39;&#39;,&#39;1&#39;=>&#39;正月&#39;,&#39;2&#39;=>&#39;二月&#39;,&#39;3&#39;=>&#39;三月&#39;,&#39;4&#39;=>&#39;四月&#39;,&#39;5&#39;=>&#39;五月&#39;,&#39;6&#39;=>&#39;六月&#39;,&#39;7&#39;=>&#39;七月&#39;,&#39;8&#39;=>&#39;八月&#39;,&#39;9&#39;=>&#39;九月&#39;,&#39;10&#39;=>&#39;十月&#39;,&#39;11&#39;=>&#39;冬月&#39;,&#39;12&#39;=>&#39;腊月&#39;);    
        $res=&#39;&#39;;    
        if($isMonth) $res = $monthHash[$num];    
        else  
        {    
            if($num<=10) $res = &#39;初&#39;.$dateHash[$num];    
            else if($num>10&&$num<20) $res = &#39;十&#39;.$dateHash[$num-10];    
            else if($num==20) $res = "二十";    
            else if($num>20&&$num<30) $res = "廿".$dateHash[$num-20];    
            else if($num==30) $res = "三十";    
        }    
        return $res;    
    }   
   
    /*  
     * 节气通用算法  
     */    
    function getJieQi($_year,$month,$day)   
    {   
        $year = substr($_year,-2)+0;   
        $coefficient = array(   
            array(5.4055,2019,-1),//小寒   
            array(20.12,2082,1),//大寒   
            array(3.87),//立春   
            array(18.74,2026,-1),//雨水   
            array(5.63),//惊蛰   
            array(20.646,2084,1),//春分   
            array(4.81),//清明   
            array(20.1),//谷雨   
            array(5.52,1911,1),//立夏   
            array(21.04,2008,1),//小满   
            array(5.678,1902,1),//芒种   
            array(21.37,1928,1),//夏至   
            array(7.108,2016,1),//小暑   
            array(22.83,1922,1),//大暑   
            array(7.5,2002,1),//立秋   
            array(23.13),//处暑   
            array(7.646,1927,1),//白露   
            array(23.042,1942,1),//秋分   
            array(8.318),//寒露   
            array(23.438,2089,1),//霜降   
            array(7.438,2089,1),//立冬   
            array(22.36,1978,1),//小雪   
            array(7.18,1954,1),//大雪   
            array(21.94,2021,-1)//冬至   
        );   
        $term_name = array(      
        "小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨",      
        "立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑",      
        "白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至");   
           
        $idx1 = ($month-1)*2;   
        $_leap_value = floor(($year-1)/4);   
        $day1 = floor($year*0.2422+$coefficient[$idx1][0])-$_leap_value;
        if(isset($coefficient[$idx1][1])&&$coefficient[$idx1][1]==$_year) $day1 += $coefficient[$idx1][2];   
        $day2 = floor($year*0.2422+$coefficient[$idx1+1][0])-$_leap_value;   
        if(isset($coefficient[$idx1+1][1])&&$coefficient[$idx1+1][1]==$_year) $day1 += $coefficient[$idx1+1][2];   
          
        //echo __FILE__.&#39;->&#39;.__LINE__.&#39; $day1=&#39;.$day1,&#39;,$day2=&#39;.$day2.&#39;<br/>&#39;.chr(10);
        $data=array();
        if($day<$day1){
            $data[&#39;name1&#39;]=$term_name[$idx1-1];
            $data[&#39;name2&#39;]=$term_name[$idx1-1].&#39;后&#39;;
        }else if($day==$day1){
            $data[&#39;name1&#39;]=$term_name[$idx1];
            $data[&#39;name2&#39;]=$term_name[$idx1];
        }else if($day>$day1 && $day<$day2){
            $data[&#39;name1&#39;]=$term_name[$idx1];
            $data[&#39;name2&#39;]=$term_name[$idx1].&#39;后&#39;;
        }else if($day==$day2){
            $data[&#39;name1&#39;]=$term_name[$idx1+1];
            $data[&#39;name2&#39;]=$term_name[$idx1+1];
        }else if($day>$day2){
            $data[&#39;name1&#39;]=$term_name[$idx1+1];
            $data[&#39;name2&#39;]=$term_name[$idx1+1].&#39;后&#39;;
        }
        return $data;
    }   
       
    /*  
     * 获取节日:特殊的节日只能修改此函数来计算  
     */  
    function getFestival($today, $nl_info = false,$config = 1)   
    {   
        if($config == 1)   
        {   
            $arr_lunar=array(&#39;01-01&#39;=>&#39;春节&#39;,&#39;01-15&#39;=>&#39;元宵节&#39;,&#39;02-02&#39;=>&#39;二月二&#39;,&#39;05-05&#39;=>&#39;端午节&#39;,&#39;07-07&#39;=>&#39;七夕节&#39;,&#39;08-15&#39;=>&#39;中秋节&#39;,&#39;09-09&#39;=>&#39;重阳节&#39;,&#39;12-08&#39;=>&#39;腊八节&#39;,&#39;12-23&#39;=>&#39;小年&#39;);    
            $arr_solar=array(&#39;01-01&#39;=>&#39;元旦&#39;,&#39;02-14&#39;=>&#39;情人节&#39;,&#39;03-12&#39;=>&#39;植树节&#39;,&#39;04-01&#39;=>&#39;愚人节&#39;,&#39;05-01&#39;=>&#39;劳动节&#39;,&#39;06-01&#39;=>&#39;儿童节&#39;,&#39;10-01&#39;=>&#39;国庆节&#39;,&#39;10-31&#39;=>&#39;万圣节&#39;,&#39;12-24&#39;=>&#39;平安夜&#39;,&#39;12-25&#39;=>&#39;圣诞节&#39;);   
        }//需要不同节日的,用不同的$config,然后配置$arr_lunar和$arr_solar   
   
        $festivals = array();   
           
        list($y,$m,$d) = explode(&#39;-&#39;,$today);   
        if(!$nl_info) $nl_info = $this->convertSolarToLunar($y,intval($m),intval($d));   
       
        if($nl_info[7]>0&&$nl_info[7]<$nl_info[4]) $nl_info[4]-=1;   
        $md_lunar = substr(&#39;0&#39;.$nl_info[4],-2).&#39;-&#39;.substr(&#39;0&#39;.$nl_info[5],-2);   
        $md_solar=substr_replace($today,&#39;&#39;,0,5);   
           
        isset($arr_lunar[$md_lunar])?array_push($festivals, $arr_lunar[$md_lunar]):&#39;&#39;;   
        isset($arr_solar[$md_solar])?array_push($festivals, $arr_solar[$md_solar]):&#39;&#39;;   
   
        $glweek  = date("w",strtotime($today));    //0-6    
   
        if($m==5&&($d>7)&&($d<15)&&($glweek==0))array_push($festivals, "母亲节");    
        if($m==6&&($d>14)&&($d<22)&&($glweek==0))array_push($festivals,"父亲节");    
   
        $jieqi = $this->getJieQi($y,$m,$d);   
        if($jieqi)array_push($festivals,$jieqi);    
        return implode(&#39;/&#39;,$festivals);   
    } 

     /*  
     * 获取当前时间属于哪个时辰
     @param int $time  时间戳
     */ 
    function getTheHour($h){
        $d=$h;
        if($d==23 || $d==0){
            return &#39;子时&#39;;
        }else if($d==1 || $d==2){
            return &#39;丑时&#39;;
        }else if($d==3 || $d==4){
            return &#39;寅时&#39;;
        }else if($d==5 || $d==6){
            return &#39;卯时&#39;;
        }else if($d==7 || $d==8){
            return &#39;辰时&#39;;
        }else if($d==9 || $d==10){
            return &#39;巳时&#39;;
        }else if($d==11 || $d==12){
            return &#39;午时&#39;;
        }else if($d==13 || $d==14){
            return &#39;未时&#39;;
        }else if($d==15 || $d==16){
            return &#39;申时&#39;;
        }else if($d==17 || $d==18){
            return &#39;酉时&#39;;
        }else if($d==19 || $d==20){
            return &#39;戌时&#39;;
        }else if($d==21 || $d==22){
            return &#39;亥时&#39;;
        }
    }
}  
/*$lunar=new Lunar();// 
$month=$lunar->getJieQi(2017,05,13);//将阳历转换为阴历 
echo &#39;<pre class="brush:php;toolbar:false">&#39;; 
print_r($month);*/
Nach dem Login kopieren

Weitere PHP-bezogene Kenntnisse finden Sie im PHP-Tutorial!

Das obige ist der detaillierte Inhalt vonPHP-Methode zum Abrufen des Mondkalenders, der Feste und der Sonnenbedingungen (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

See all articles