ホームページ バックエンド開発 PHPチュートリアル 旧暦、祭り、二十四節気を取得するPHPメソッド(コード例)

旧暦、祭り、二十四節気を取得するPHPメソッド(コード例)

Feb 01, 2020 pm 03:20 PM
php

旧暦、祭り、二十四節気を取得するPHPメソッド(コード例)

#php で旧暦、祭り、二十四節気を取得するメソッド

具体的なコードは次のとおりです:

/*  
 * 农历 节气 节日 
 * 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);*/
ログイン後にコピー

php 関連の知識については、

php チュートリアル をご覧ください。

以上が旧暦、祭り、二十四節気を取得するPHPメソッド(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles