分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/**
判断干支、生肖和星座
*/
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;
$result [ 'gz' ]= $gzdict [0][( $i %10)]. $gzdict [1][( $i %12)];
$sxdict = array ( '鼠' , '牛' , '虎' , '兔' , '龙' , '蛇' , '马' , '羊' , '猴' , '鸡' , '狗' , '猪' );
$result [ 'sx' ]= $sxdict [(( $y -4)%12)];
return $result ;
}
|
使用实例如下:
1
2
3
4
5
6
7
8
9
|
<?php
header( "Content-Type:text/html;charset=utf-8" );
echo '<pre>' ;
$arr =birthext( '1373287361' ); //时间戳
print_r( $arr );
$arr =birthext( '2013-07-08' );
print_r( $arr );
$arr =birthext( '20130708' );
print_r( $arr );
|
打印结果如下:
以上就是关于php根据日期或时间戳获取星座信息和生肖等信息的函数方法,希望对大家的学习有所帮助。