栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php阳历转农历优化版

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php阳历转农历优化版

本文实例为大家分享了php阳历转农历代码,供大家参考,具体内容如下

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) 
   ); 
############################## 
 #农历天干 
 $mten=array("null","甲","乙","丙","丁","戊","己","庚","辛","壬","癸"); 
 #农历地支 
 $mtwelve=array("null","子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)", 
  "巳(蛇)","午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)"); 
 #农历月份 
 $mmonth=array("闰","正","二","三","四","五","六", 
 "七","八","九","十","十一","十二","月"); 
 #农历日 
 $mday=array("null","初一","初二","初三","初四","初五","初六","初七","初八","初九","初十", 
"十一","十二","十三","十四","十五","十六","十七","十八","十九","二十", 
"廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"); 
############################## 
 #星期 
 $weekday = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); 
 #阳历总天数 至1900年12月21日 
 $total=11; 
 #阴历总天数 
 $mtotal=0; 
############################## 
 #获得当日日期 
 //$today=getdate(); //获取今天的日期
 if($nian<1901 || $nian>2020) die("年份出错!"); 
 //$cur_wday=$today["wday"]; //星期中第几天的数字表示
 for($y=1901;$y<$nian;$y++) { //计算到所求日期阳历的总天数-自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; //加当月的天数 
 $flag1=0; //判断跳出循环的条件 
 $j=0; 
 while ($j<=120){ //用农历的天数累加来判断是否超过阳历的天数 
   $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号的农历日期 
 $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位

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/42762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号