php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数

PHPABC PHP开发 990 次浏览 , , , 没有评论

分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数,具体代码如下:

/**
判断干支、生肖和星座
*/
function birthext($birth){
    if(strstr($birth,'-')===false&&strlen($birth)!==8){
        $birth=date("Y-m-d",$birth);
    }
    if(strlen($birth)===8){
        if(eregi('([0-9]{4})([0-9]{2})([0-9]{2})$',$birth,$bir))
        $birth="{$bir[1]}-{$bir[2]}-{$bir[3]}";
    }
    if(strlen($birth)<8){
        return false;
    }
    $tmpstr= explode('-',$birth);
    if(count($tmpstr)!==3){
        return false;
    }
    $y=(int)$tmpstr[0];
    $m=(int)$tmpstr[1];
    $d=(int)$tmpstr[2];
    $result=array();   
    $xzdict=array('摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手');
    $zone=array(1222,122,222,321,421,522,622,722,822,922,1022,1122,1222);   
    if((100*$m+$d)>=$zone[0]||(100*$m+$d)<$zone[1]){
        $i=0;
    }else{
        for($i=1;$i<12;$i++){
            if((100*$m+$d)>=$zone[$i]&&(100*$m+$d)<$zone[$i+1]){ break; }  
        }   
   }
   $result['xz']=$xzdict[$i].'座';
   $gzdict=array(array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸'),array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'));
   $i= $y-1900+36;//http://www.phpabc.cn/php-gan-zhi-ji-nian-sheng-xiao-xing-zhuo.html
   $result['gz']=$gzdict[0][($i%10)].$gzdict[1][($i%12)];
   $sxdict=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'); 
   $result['sx']=$sxdict[(($y-4)%12)];
   return $result;
}

输出效果如下:

Array
(
    [xz] =&gt; 巨蟹座
    [gz] =&gt; 癸巳
    [sx] =&gt;)
Array
(
    [xz] =&gt; 巨蟹座
    [gz] =&gt; 癸巳
    [sx] =&gt;)
Array
(
    [xz] =&gt; 巨蟹座
    [gz] =&gt; 癸巳
    [sx] =&gt;)

另外如果需要获取更详细的信息可参照本站文章:

php阳历转阴历(农历),阴历转阳历类

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go