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

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

  1. /** 
  2. 判断干支、生肖和星座 
  3. */ 
  4. function birthext($birth){ 
  5.     if(strstr($birth,'-')===false&&strlen($birth)!==8){ 
  6.         $birth=date("Y-m-d",$birth); 
  7.     } 
  8.     if(strlen($birth)===8){ 
  9.         if(eregi('([0-9]{4})([0-9]{2})([0-9]{2})$',$birth,$bir)) 
  10.         $birth="{$bir[1]}-{$bir[2]}-{$bir[3]}"
  11.     } 
  12.     if(strlen($birth)<8){ 
  13.         return false; 
  14.     } 
  15.     $tmpstrexplode('-',$birth); 
  16.     if(count($tmpstr)!==3){ 
  17.         return false; 
  18.     } 
  19.     $y=(int)$tmpstr[0]; 
  20.     $m=(int)$tmpstr[1]; 
  21.     $d=(int)$tmpstr[2]; 
  22.     $result=array();    
  23.     $xzdict=array('摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手'); 
  24.     $zone=array(1222,122,222,321,421,522,622,722,822,922,1022,1122,1222);    
  25.     if((100*$m+$d)>=$zone[0]||(100*$m+$d)<$zone[1]){ 
  26.         $i=0; 
  27.     }else
  28.         for($i=1;$i<12;$i++){ 
  29.             if((100*$m+$d)>=$zone[$i]&&(100*$m+$d)<$zone[$i+1]){ break; }   
  30.         }    
  31.    } 
  32.    $result['xz']=$xzdict[$i].'座'
  33.    $gzdict=array(array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸'),array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥')); 
  34.    $i$y-1900+36;//http://www.daimajiayuan.com/ 
  35.    $result['gz']=$gzdict[0][($i%10)].$gzdict[1][($i%12)]; 
  36.    $sxdict=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪');  
  37.    $result['sx']=$sxdict[(($y-4)%12)]; 
  38.    return $result

使用实例如下:

  1. <?php 
  2. header("Content-Type:text/html;charset=utf-8"); 
  3. echo '<pre>';
  4. $arr=birthext('1373287361'); //时间戳 
  5. print_r($arr); 
  6. $arr=birthext('2013-07-08'); 
  7. print_r($arr); 
  8. $arr=birthext('20130708'); 
  9. print_r($arr); 

打印结果如下:

Array
(
    [xz] => 巨蟹座
    [gz] => 癸巳
    [sx] => 蛇
)
Array
(
    [xz] => 巨蟹座
    [gz] => 癸巳
    [sx] => 蛇
)
Array
(
    [xz] => 巨蟹座
    [gz] => 癸巳
    [sx] => 蛇
)

转载请注明:代码家园 » php根据日期或时间戳获取干支纪年,生肖和星座信息

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)