zoukankan      html  css  js  c++  java
  • PHP显示日期、周几、农历初几、什么节日函数编程代码

    <?
    function rili($style,$Atime){

    $debug = false;

    $glmonth = date("n",$Atime);    //1-12 
    $glday   = date("j",$Atime);    //1-31 
    $glweek  = date("w",$Atime);    //0-6 
    $glyear  = date("Y",$Atime);    // 
    if( $glweek==0 || $glweek==6 ){ 
        $bgcolor="#ff5555"; 
        $fontcolor="yellow"; 
    }else{ 
        $bgcolor="#66ccff"; 
        $fontcolor="black"; 
    }

    $chday=explode(" ","星期日 星期一 星期二 星期三 星期四 星期五 星期六"); 
    $chnum=explode(" ","一 二 三 四 五 六 七 八 九 十"); 
    //$isBig=explode(" ","大 小"); 
    $dayName = explode(" ","初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十");

    $date = mktime(0,0,0,2,5,2000);  //从庚辰年春节算起   
    $K = floor(($Atime - date("U",$date) )/86400 ); 
    // 
    //$daypyear = array(354,384,354,355,384,355); 
    $skydry = explode(" ","甲 乙 丙 丁 戊 已 庚 辛 壬 癸"); 
    $groundbranch = explode(" ","子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥"); 
    $nongmonth = explode(" ","正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月"); 
    for($i=0;$i < 60;$i++) 

        $yearName[] = $skydry[($i + 6 )%10].$groundbranch[($i + 4)%12]."年"; 

    //$yearName = explode(" ","庚辰年 辛巳年 壬午年 癸未年 甲申年 乙酉年 丙戌年 丁亥年"); 
    $adaypmonth = array( 
    explode(" ","30 30 29 29 30 29 29 30 29 30 30 29"  ),    //庚辰年 00 
    explode(" ","30 30 29 30 -29 30 29 29 30 29 30 29 30"    ),    //辛巳年 01 
    explode(" ","30 30 29 30 29 30 29 29 30 29 30 29"  ),    //壬午年 02 
    explode(" ","30 30 29 30 30 29 30 29 29 30 29 30"  ),    //癸未年 03 
    explode(" ","29 30 -29 30 30 29 30 29 30 29 30 29 30"    ),    //甲申年 04 
    explode(" ","29 30 29 30 29 30 30 29 30 29 30 29"  ),    //乙酉年 05 
    explode(" ","30 29 30 29 30 29 30 29 -30 30 29 30 30"    ),    //丙戌年 06 
    explode(" ","29 29 30 29 29 30 29 30 30 30 29 30"  ),    //丁亥年 07 
    explode(" ","30 29 29 30 29 29 30 29 30 30 29 30"  )    //戊子年 08 
    ); 
    if($debug)print_r($adaypmonth); 
    while(list($i,$j) = each($adaypmonth)) 

        //$daypyear[$i] = array_sum($j); 
        $p=0; 
        while(list($m,$n) = each($j)) 
        { 
      if($n>0) 
      { 
          $amname[$i][$m] = $nongmonth[$p]; 
          $p++; 
          $daypyear[$i] += $n; 
      }else 
      { 
          $amname[$i][$m] = "闰".$nongmonth[$p]; 
          $daypyear[$i] -= $n;   
      } 
      if($n == 29 || $n == -29) 
      { 
          $amname[$i][$m] = $amname[$i][$m]."小"; 
      }else 
      { 
          $amname[$i][$m] = $amname[$i][$m]."大"; 
      } 
        } 

    /* 
    $amname = array( 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //00 
    "正月 二月 三月 四月 闰四月 五月 六月 七月 八月 九月 十月 十一月 腊月",  //01 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //02 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //03 
    "正月 二月 闰二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",  //04 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //05 
    "正月 二月 三月 四月 五月 六月 七月 八月 闰八月 九月 十月 十一月 腊月",  //06 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //07 
    "正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 腊月",      //08 
    ); 
    */ 
    // 
    $yearnum = 0; 
    while($K >= $daypyear[$yearnum]){ 
    //    echo "K=$K yearnum=$yearnum daypyear=${daypyear[$yearnum]} "; 
        $K-=$daypyear[$yearnum++]; 

    if($debug)echo "K:".$K; 
    $year = $yearName[$yearnum]; 
    $month = $adaypmonth[$yearnum]; 
    //$mName = explode(" ",$amname[$yearnum]); 
    $mName = $amname[$yearnum];

    $i=0; 
    while($K >= $month[$i])$K -= abs($month[$i++]);

    /* 
    if($month[$i]==29)$l=$isBig[1]; 
    else    $l=$isBig[0];    //大小月 
    */ 
    //  year  农历的年份 
    //  i,nlmonth  农历的月数  数组序号0-12(11)   
    //  K,nlday    农历的天数  0-29(28) 
    $nlmonth = $i; 
    $nlday   = $K+1;$JR1 = ""; //公历节日 

    //固定节日 
    $gljr = array( 
    101=>"元旦", 
    202=>"世界湿地日(1996)", 
    214=>"情人节", 
    303=>"全国爱耳日", 
    308=>"妇女节(1910)", 
    312=>"植树节(1979)", 
    315=>"国际消费者权益日", 
    320=>"世界睡眠日", 
    325=>"世界气象日", 
    401=>"愚人节", 
    407=>"世界卫生日", 
    501=>"国际劳动节", 
    504=>"中国青年节", 
    508=>"世界红十字日", 
    512=>"国际护士节", 
    519=>"全国助残日", 
    601=>"国际儿童节", 
    605=>"世界环境日", 
    622=>"中国儿童慈善活动日", 
    623=>"国际奥林匹克日", 

    707=>"中国人民抗日战争纪念日", 
    801=>"中国人民解放军建军(1927)", 
    903=>"抗日战争胜利纪念日(1945)", 
    908=>"国际扫盲日", 
    910=>"教师节", 
    916=>"世界臭氧层保护日", 
    918=>"九?一八纪念日", 
    927=>"世界旅游日", 
    929=>"国际聋人节", 
    1001=>"中华人民共和国成立", 
    1014=>"世界标准日", 
    1024=>"联合国日", 
    1205=>"国际志愿人员日", 
    1229=>"12.9运动纪念日", 
    1225=>"圣诞节" 
    );

    if(isset($gljr[$glmonth*100+$glday])) $JR1.2881064151=$gljr[$glmonth*100+$glday];

    //不固定节日 
    //及 
    $JR=""; 
    switch($glmonth){ 
        case 1: 
      switch($glday){ 
          case 1: 
        $bgcolor="#ff5555";    //元旦 
        $fontcolor="yellow"; 
        break;      
      } 
      break; 
        case 5: 
      switch($glday){ 
          case 1: 
        $bgcolor="#ff5555";    //五一 
        $fontcolor="yellow"; 
        break;      
      } 
      if(($glday>7)&&($glday<15)&&($glweek==0))$JR.="母亲节"; 
      break; 
        case 6: 
      if(($glday>14)&&($glday<22)&&($glweek==0))$JR.="父亲节"; 
      break; 
        case 9: 
      switch($glday){ 
          case 18: 
        $bgcolor="#666666";    //9.18 
        $fontcolor="#ffffff"; 
        break;      
      } 
      break; 
        case 10: 
      switch(date("j",$Atime)){ 
          case 1: 
        $bgcolor="#ff5555";    //国庆 
        $fontcolor="yellow"; 
        $JR.=(date("Y",$Atime)-1949)."周年";break;      
      } 
      break; 

    if(strlen($JR)>1)$JR2=$JR;

    $JR=""; 
    $JR3=""; 
    //固定农历节日 
    //*********农历节日 
    //K为日减一 
    switch(substr($mName[$i],0,-2)){ 
        case "正月": 
      switch($nlday){ 
          case 1: 
        $bgcolor="#ff5555";    // 
        $fontcolor="yellow"; 
        $JR3.="春节";break;      
          case 15: 
        $JR3.="元宵节";break;      
      } 
      break; 
        case "二月": 
      switch($nlday){ 
          case 2: 
        $JR3.="龙抬头";break;      
      } 
      break; 
        case "三月": 
      break; 
        case "四月": 
      break; 
        case "五月": 
      switch($nlday){ 
          case 5: 
        $JR3.="端午节";break;      
      } 
      break; 
        case "六月": 
      break; 
        case "七月": 
      switch($nlday){ 
          case 7: 
        $JR3.="七夕";break;      
      } 
      break; 
        case "八月": 
      switch($nlday){ 
          case 15: 
        $bgcolor="#ff5555";    // 
        $fontcolor="yellow"; 
        $JR3.="中秋节";break;      
      } 
      break; 
        case "九月": 
      switch($nlday){ 
          case 9: 
        $JR3.="重阳节";break;      
      } 
      break; 
        case "十月": 
      break; 
        case "十一月": 
      break; 
        case "腊月": 
      switch($nlday){ 
          case 8: 
        $JR3.="腊八";break;      
          case 25: 
        $JR3.="小年";break;      
      } 
      if(($nlday==30)||(($nlday==29)&&(substr($mName[$i],-2)==="小"))){ 
          $bgcolor="#ff5555";    // 
          $fontcolor="yellow"; 
          $JR3.="除夕"; 
      } 
      break; 
    }

    //24节气 
    $nl24j[2002] = array( 
    105=>"小寒", 
    120=>"大寒", 
    204=>"立春", 
    219=>"雨水", 
    306=>"惊蛰", 
    321=>"春分", 
    405=>"清明", 
    420=>"谷雨", 
    506=>"立夏", 
    521=>"小满", 
    606=>"芒种", 
    621=>"夏至", 
    707=>"小暑", 
    723=>"大暑", 
    808=>"立秋", 
    823=>"处暑", 
    908=>"白露", 
    923=>"秋分", 
    1008=>"寒露", 
    1023=>"霜降", 
    1107=>"立冬", 
    1122=>"小雪", 
    1207=>"大雪", 
    1222=>"冬至" 
    ); 
    $nl24j[2003] = array( 
    106=>"小寒", 
    120=>"大寒", 
    204=>"立春", 
    219=>"雨水", 
    306=>"惊蛰", 
    321=>"春分", 
    405=>"清明", 
    420=>"谷雨", 
    506=>"立夏", 
    521=>"小满", 
    606=>"芒种", 
    622=>"夏至", 
    707=>"小暑", 
    723=>"大暑", 
    808=>"立秋", 
    823=>"处暑", 
    908=>"白露", 
    923=>"秋分", 
    1009=>"寒露", 
    1024=>"霜降", 
    1108=>"立冬", 
    1123=>"小雪", 
    1207=>"大雪", 
    1222=>"冬至" 
    ); 
    $nl24j[2004] = array( 
    106=>"小寒", 
    121=>"大寒", 
    204=>"立春", 
    219=>"雨水", 
    305=>"惊蛰", 
    320=>"春分", 
    402=>"清明", 
    420=>"谷雨", 
    505=>"立夏", 
    521=>"小满", 
    605=>"芒种", 
    621=>"夏至", 
    707=>"小暑", 
    722=>"大暑", 
    807=>"立秋", 
    823=>"处暑", 
    907=>"白露", 
    923=>"秋分", 
    1008=>"寒露", 
    1023=>"霜降", 
    1107=>"立冬", 
    1122=>"小雪", 
    1207=>"大雪", 
    1221=>"冬至" 
    ); 
    if(isset($gl24j[$glyear][$glmonth*100+$glday])) $JR4.=$gl24j[$glyear][$glmonth*100+$glday];

    if($style=="1"){ 288064151
    $str = "<nobr>".date("Y年n月j日",$Atime).$chday[date("w",$Atime)]."</nobr><BR>"; 
    $str .="<nobr>农历".$year."".$mName[$i]."".$dayName[$K]."</nobr>"; 
    if(strlen("$JR1 $JR2 $JR3 $JR4")>3)$str .="<BR>$JR1 $JR2 $JR3 $JR4"; 
    }else{ 
    $str = "".date("Y年",$Atime)."<br>".date("n月j日",$Atime)."<br>".$chday[date("w",$Atime)]."<BR>"; 
    $str .="农历".$year."<br>".$mName[$i]."".$dayName[$K]; 
    if(strlen($JR1)>1)$str.="<BR>$JR1"; 
    if(strlen($JR2)>1)$str.="<BR>$JR2"; 
    if(strlen($JR3)>1)$str.="<BR>$JR3"; 
    if(strlen($JR4)>1)$str.="<BR>$JR4"; 
    }

    //***************************/ 
    echo "<table border=0><tr><td align='center' valign='center'"; 
    echo ' bgcolor="'; 
    echo $bgcolor.'"'; 
    echo "><font style='font-size:9pt;line-height: 150%' color=$fontcolor>$str $JR"; 
    echo "</font></td></tr></table>";

    }  //end function rili 
    ?>


    函数描述及例子

    <? 
    rili("1",time()-3600*24); 
    ?> 
    显示结果: 
    2009年 
    1月3日 
    星期六 
    农历戊子年 
    腊月大初八 
    腊八

  • 相关阅读:
    sweetalert 1.0多次回调函数bug
    ThinkPHP添加扩展配置失败
    记一次相机内存卡数据恢复
    流量监控脚本监控网卡
    ip网关配置
    centos7【防火墙】常用规则-docker服务防火墙规则
    ssh服务及安全配置
    代码库
    linux计划任务防暴力破解脚本+免密操作
    阿里去短信接口包
  • 原文地址:https://www.cnblogs.com/cbryge/p/6015311.html
Copyright © 2011-2022 走看看