国产综合精品在线,精品一区国产精品,中文在线欧美日韩视频,中文字幕制服亚洲另类

<dfn id="ykamo"><pre id="ykamo"></pre></dfn>
  • <rt id="ykamo"><code id="ykamo"></code></rt>
  • <strike id="ykamo"></strike>
    php陽歷轉(zhuǎn)農(nóng)歷優(yōu)化版
    來源:易賢網(wǎng) 閱讀:1133 次 日期:2016-08-29 14:01:22
    溫馨提示:易賢網(wǎng)小編為您整理了“php陽歷轉(zhuǎn)農(nóng)歷優(yōu)化版”,方便廣大網(wǎng)友查閱!

    本文實例為大家分享了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; 

    ############################## 

     #獲得當(dāng)日日期 

     //$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) { //再加當(dāng)年的幾個月 

         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++; //如果當(dāng)年是閏年還要加一天 

     $total=$total+$ri-1; //加當(dāng)月的天數(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'); //標(biāo)準(zhǔn)8位

    以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:php陽歷轉(zhuǎn)農(nóng)歷優(yōu)化版
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機(jī)號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)