<?php
$nd;//当前天数
$nm;//当前月份
$ny;//当前年份
$ss;//当前秒数
$ww;
$seconds=86400;//
$bsYear;
$bsDate;
$bsWeek;
$arrLen=8;//数组长度
$svalue=0;//当年的秒数
$dayiy=0;//当年第几天
$miy=0;//月份的下标
$iyear=0;//年份标记
$dayim=0;//当月第几天
//得到当前的时间
$this->nd=date("j");
$this->nm=date("n");
$this->ny=date("Y");
$this->ss=date("U");
$this->ww=date("l");
$year1999=array(30,29,29,30,29,29,30,29,30,30,30,29);
$year2000=array(30,30,29,29,30,29,29,30,29,30,30,29);
$year2001=array(30,30,29,30,29,30,29,29,30,29,30,29,30);
$year2002=array(30,30,29,30,29,30,29,29,30,29,30,29);
$year2003=array(30,30,29,30,30,29,30,29,29,30,29,30);
$year2004=array(29,30,29,30,30,29,30,29,30,29,30,29,30);
$year2005=array(29,30,29,30,29,30,30,29,30,29,30,29);
$year2006=array(30,29,30,29,30,30,29,29,30,30,29,29,30);
$month1999=array("正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
$month2001=array("正月","二月","三月","四月","闰四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
$month2004=array("正月","二月","闰二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
$month2006=array("正月","二月","三月","四月","五月","六月","七月","闰七月","八月","九月","十月","十一月","十二月");
$Dn=array("初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十");
$Ys= array($arrLen);
$Ys[0]=919094400;$Ys[1]=949680000;$Ys[2]=980265600;
$Ys[3]=1013443200;$Ys[4]=1044028800;$Ys[5]=1074700800;
$Ys[6]=1107878400;$Ys[7]=1138464000;
//$Ys=array(0=>919094400,1=>949680000,2=>980265600,3=>1013443200,4=>1044028800,5=>1074700800,6=>1107878400,7=>1138464000);
//农历年的名称
//$Yn=array(0=>"己卯年",1=>"庚辰年",2=>"辛巳年",3=>"壬午年",4=>"癸未年",5=>"甲申年",6=>"乙酉年",7=>"丙戌年");
$Yn= array($arrLen); //农历年的名称
$Yn[0]="己卯年";$Yn[1]="庚辰年";$Yn[2]="辛巳年";
$Yn[3]="壬午年";$Yn[4]="癸未年";$Yn[5]="甲申年";
$Yn[6]="乙酉年";$Yn[7]="丙戌年";
for ($i=0;$i< $arrLen;$i++)
if ($this->ss>=$Ys[$i]){
$iyear=$i;
$svalue=$this->ss-$Ys[$i];//当年的秒数
}
$dayiy=($svalue/$seconds)+1;//当年的天数
$dpm=$year1999;
if ($iyear==1) $dpm=$year2000;
if ($iyear==2) $dpm=$year2001;
if ($iyear==3) $dpm=$year2002;
if ($iyear==4) $dpm=$year2003;
if ($iyear==5) $dpm=$year2004;
if ($iyear==6) $dpm=$year2005;
if ($iyear==7) $dpm=$year2006;
//$dpm=$dpm.split(",");
$Mn=$month1999;
if ($iyear==2) $Mn=$month2001;
if ($iyear==5) $Mn=$month2004;
if ($iyear==7) $Mn=$month2006;
//$Mn=$Mn.split(",");
$Dn=array("初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十");
//$Dn=$Dn.split(",");
$dayim=$dayiy;
$total= array(13);
$total[0]=($dpm[0]);
for ($i=1;$i< $dpm.length-1;$i++) $total[$i]=($dpm[$i])+$total[$i-1];
for ($i=$dpm.length-1;$i>0;$i--)
if ($dayim>$total[$i-1]){
$dayim= $dayim-$total[$i-1];
$miy= $i;
}
$bsWeek=$this->ww;
$bsDate=$this->ny."年".$this->nm."月";
$bsDate2=$this->nd."日";
$bsYear="农历".$Yn[$iyear];
$bsYear2=$Mn[$miy].$Dn[$dayim-1];
if ($this->ss >= $Ys[7]||$this->ss < $Ys[0]) $bsYear = $Yn[7];
echo "$bsWeek $bsDate$bsDate2$bsYear$bsYear2";
?>
这是小弟昨天根据js改成php 的公农历日期,可月分总显示为正月,$i< $dpm.length-1;这在php 中可用吗?请高手侃侃,哪里有问题?感谢了!!!