亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        php陽歷轉(zhuǎn)農(nóng)歷優(yōu)化版

        字號:


            本文實例為大家分享了php陽歷轉(zhuǎn)農(nóng)歷代碼,供大家參考,具體內(nèi)容如下
            <?php
            function nongli($riqi)
            {
            //優(yōu)化修改 20160807 FXL 
            $nian=date('Y',strtotime($riqi));
            $yue=date('m',strtotime($riqi));
            $ri=date('d',strtotime($riqi));
             #源碼部分原作者:沈瀲(S&S Lab) 
             #農(nóng)歷每月的天數(shù) 
             $everymonth=array( 
                      0=>array(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1), 
                      1=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8,2), 
                      2=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3), 
                      3=>array(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4), 
                      4=>array(0,30,30,29,30,29,29,30,29,29,30,30,29,0,1,5), 
                      5=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,2,6), 
                      6=>array(4,29,30,30,29,30,29,30,29,30,29,30,29,30,3,7), 
                      7=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,4,8), 
                      8=>array(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9), 
                      9=>array(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10), 
                      10=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,7,11), 
                      11=>array(6,30,29,30,29,29,30,29,29,30,30,29,30,30,8,12), 
                      12=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,9,1), 
                      13=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,10,2), 
                      14=>array(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3), 
                      15=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4), 
                      16=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5), 
                      17=>array(2,30,29,29,30,29,30,30,29,30,30,29,30,29,4,6), 
                      18=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,5,7), 
                      19=>array(7,29,30,29,29,30,29,29,30,30,29,30,30,30,6,8), 
                      20=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9), 
                      21=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10), 
                      22=>array(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11), 
                      23=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,10,12), 
                      24=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,1,1), 
                      25=>array(4,30,29,30,29,30,30,29,30,30,29,30,29,30,2,2), 
                      26=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3,3), 
                      27=>array(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4), 
                      28=>array(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5), 
                      29=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,6,6), 
                      30=>array(6,29,30,30,29,29,30,29,29,30,29,30,30,29,7,7), 
                      31=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,8,8), 
                      32=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,9,9), 
                      33=>array(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10), 
                      34=>array(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11), 
                      35=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,2,12), 
                      36=>array(3,30,29,29,30,29,29,30,30,29,30,30,30,29,3,1), 
                      37=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,4,2), 
                      38=>array(7,30,30,29,29,30,29,29,30,29,30,30,29,30,5,3), 
                      39=>array(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4), 
                      40=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5), 
                      41=>array(6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6), 
                      42=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,9,7), 
                      43=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,10,8), 
                      44=>array(4,30,29,30,29,30,29,30,29,30,30,29,30,30,1,9), 
                      45=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10), 
                      46=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11), 
                      47=>array(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12), 
                      48=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,5,1), 
                      49=>array(7,30,29,30,30,29,30,29,29,30,29,30,29,30,6,2), 
                      50=>array(0,29,30,30,29,30,30,29,29,30,29,30,29,0,7,3), 
                      51=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8,4), 
                      52=>array(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5), 
                      53=>array(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6), 
                      54=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,1,7), 
                      55=>array(3,29,30,29,30,29,29,30,29,30,29,30,30,30,2,8), 
                      56=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,3,9), 
                      57=>array(8,30,29,30,29,30,29,29,30,29,30,29,30,29,4,10), 
                      58=>array(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11), 
                      59=>array(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12), 
                      60=>array(6,30,29,30,29,30,30,29,30,29,30,29,30,29,7,1), 
                      61=>array(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2), 
                      62=>array(0,29,30,29,29,30,29,30,30,29,30,30,29,0,9,3), 
                      63=>array(4,30,29,30,29,29,30,29,30,29,30,30,30,29,10,4), 
                      64=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,1,5), 
                      65=>array(0,29,30,29,30,29,29,30,29,29,30,30,29,0,2,6), 
                      66=>array(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7), 
                      67=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8), 
                      68=>array(7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9), 
                      69=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,6,10), 
                      70=>array(0,30,29,29,30,29,30,30,29,30,30,29,30,0,7,11), 
                      71=>array(5,29,30,29,29,30,29,30,29,30,30,30,29,30,8,12), 
                      72=>array(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1), 
                      73=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2), 
                      74=>array(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3), 
                      75=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,2,4), 
                      76=>array(8,30,30,29,30,29,30,29,30,29,29,30,29,30,3,5), 
                      77=>array(0,30,29,30,30,29,30,29,30,29,30,29,29,0,4,6), 
                      78=>array(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5,7), 
                      79=>array(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8), 
                      80=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9), 
                      81=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,8,10), 
                      82=>array(4,30,29,30,29,29,30,29,29,30,29,30,30,30,9,11), 
                      83=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,10,12), 
                      84=>array(10,30,29,30,30,29,29,30,29,29,30,29,30,30,1,1), 
                      85=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2), 
                      86=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3), 
                      87=>array(6,30,29,30,29,30,30,29,30,30,29,30,29,29,4,4), 
                      88=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,5,5), 
                      89=>array(0,30,29,29,30,29,29,30,30,29,30,30,30,0,6,6), 
                      90=>array(5,29,30,29,29,30,29,29,30,29,30,30,30,30,7,7), 
                      91=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8), 
                      92=>array(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9), 
                      93=>array(3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10), 
                      94=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,1,11), 
                      95=>array(8,29,30,30,29,30,29,30,30,29,29,30,29,30,2,12), 
                      96=>array(0,29,30,29,30,30,29,30,29,30,30,29,29,0,3,1), 
                      97=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2), 
                      98=>array(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3), 
                      99=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4), 
                      100=>array(0,30,30,29,29,30,29,29,30,29,30,30,29,0,7,5), 
                      101=>array(4,30,30,29,30,29,30,29,29,30,29,30,29,30,8,6), 
                      102=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,9,7), 
                      103=>array(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10,8), 
                      104=>array(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9), 
                      105=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10), 
                      106=>array(7,30,29,30,29,30,29,30,29,30,30,29,30,30,3,11), 
                      107=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,4,12), 
                      108=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,5,1), 
                      109=>array(5,30,30,29,29,30,29,29,30,29,30,29,30,30,6,2), 
                      110=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3), 
                      111=>array(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4), 
                      112=>array(4,30,29,30,30,29,30,29,30,29,30,29,30,29,9,5), 
                      113=>array(0,30,29,30,29,30,30,29,30,29,30,29,30,0,10,6), 
                      114=>array(9,29,30,29,30,29,30,29,30,30,29,30,29,30,1,7), 
                      115=>array(0,29,30,29,29,30,29,30,30,30,29,30,29,0,2,8), 
                      116=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9), 
                      117=>array(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10), 
                      118=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11), 
                      119=>array(0,30,29,30,29,30,29,29,30,29,29,30,30,0,6,12), 
                      120=>array(4,29,30,30,30,29,30,29,29,30,29,30,29,30,7,1) 
                      ); 
            ############################## 
             #農(nóng)歷天干 
             $mten=array("null","甲","乙","丙","丁","戊","己","庚","辛","壬","癸"); 
             #農(nóng)歷地支 
             $mtwelve=array("null","子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龍)", 
                     "巳(蛇)","午(馬)","未(羊)","申(猴)","酉(雞)","戌(狗)","亥(豬)"); 
             #農(nóng)歷月份 
             $mmonth=array("閏","正","二","三","四","五","六", 
                    "七","八","九","十","十一","十二","月"); 
             #農(nóng)歷日 
             $mday=array("null","初一","初二","初三","初四","初五","初六","初七","初八","初九","初十", 
                   "十一","十二","十三","十四","十五","十六","十七","十八","十九","二十", 
                   "廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"); 
            ############################## 
             #星期 
             $weekday = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); 
             #陽歷總天數(shù) 至1900年12月21日 
             $total=11; 
             #陰歷總天數(shù) 
             $mtotal=0; 
            ############################## 
             #獲得當日日期 
             //$today=getdate(); //獲取今天的日期
             if($nian<1901 || $nian>2020) die("年份出錯!"); 
             //$cur_wday=$today["wday"]; //星期中第幾天的數(shù)字表示
             for($y=1901;$y<$nian;$y++) { //計算到所求日期陽歷的總天數(shù)-自1900年12月21日始,先算年的和 
                $total+=365; 
                if ($y%4==0) $total++; 
             } 
             switch($yue) { //再加當年的幾個月 
                 case 12: 
                   $total+=30; 
                 case 11: 
                   $total+=31; 
                 case 10: 
                   $total+=30; 
                 case 9: 
                   $total+=31; 
                 case 8: 
                   $total+=31; 
                 case 7: 
                   $total+=30; 
                 case 6: 
                   $total+=31; 
                 case 5: 
                   $total+=30; 
                 case 4: 
                   $total+=31; 
                 case 3: 
                   $total+=28; 
                 case 2: 
                   $total+=31; 
             } 
             if($nian%4 == 0 && $yue>2) $total++; //如果當年是閏年還要加一天 
             $total=$total+$ri-1; //加當月的天數(shù) 
             $flag1=0; //判斷跳出循環(huán)的條件 
             $j=0; 
             while ($j<=120){ //用農(nóng)歷的天數(shù)累加來判斷是否超過陽歷的天數(shù) 
               $i=1; 
               while ($i<=13){ 
                  $mtotal+=$everymonth[$j][$i]; 
                  if ($mtotal>=$total){ 
                     $flag1=1; 
                     break; 
                  } 
                  $i++; 
               } 
               if ($flag1==1) break; 
               $j++; 
             } 
             if($everymonth[$j][0]<>0 and $everymonth[$j][0]<$i){ //原來錯在這里,對閏月沒有修補 
               $mm=$i-1; 
             } 
             else{ 
               $mm=$i; 
             } 
             if($i==$everymonth[$j][0]+1 and $everymonth[$j][0]<>0) { 
               $nlmon=$mmonth[0].$mmonth[$mm];#閏月 
             } 
             else { 
               $nlmon=$mmonth[$mm].$mmonth[13]; 
             } 
             #計算所求月份1號的農(nóng)歷日期 
             $md=$everymonth[$j][$i]-($mtotal-$total); 
             if($md > $everymonth[$j][$i]) 
               $md-=$everymonth[$j][$i]; 
             $nlday=$mday[$md]; 
             //$nowday=date("Y年n月j日 ")."w".$weekday[$cur_wday]." ".$mten[$everymonth[$j][14]].$mtwelve[$everymonth[$j][15]]."年".$nlmon.$nlday; 
             $nowday=$mten[$everymonth[$j][14]].$mtwelve[$everymonth[$j][15]]."年 ".$nlmon.$nlday; 
             return $nowday;
            }
            echo nongli('20160807'); //標準8位
            以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助