php获取指定日期干支纪年,生肖和星座信息的方法
程序员文章站
2022-05-02 22:02:23
...
分享一个利用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) 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) $i=0;
}else{
for($i=1;$i if((100*$m+$d)>=$zone[$i]&&(100*$m+$d) }
}
$result['xz']=$xzdict[$i].'座';
$gzdict=array(array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸'),array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'));
$i= $y-1900+36;//http://www.scutephp.com/
$result['gz']=$gzdict[0][($i%10)].$gzdict[1][($i%12)];
$sxdict=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪');
$result['sx']=$sxdict[(($y-4)%12)];
return $result;}
使用实例如下:
header("Content-Type:text/html;charset=utf-8");
echo '';//http://www.scutephp.com/
$arr=birthext('1373287361'); //时间戳
print_r($arr);
$arr=birthext('2013-07-08');
print_r($arr);
$arr=birthext('20130708');print_r($arr);
打印结果如下:
Array
(
[xz] => 巨蟹座
[gz] => 癸巳
[sx] => 蛇
)
Array
(
[xz] => 巨蟹座
[gz] => 癸巳
[sx] => 蛇
)
Array
(
[xz] => 巨蟹座
[gz] => 癸巳
[sx] => 蛇
)