分享一个利用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根据日期或时间戳获取星座信息和生肖等信息的函数方法,希望对大家的学习有所帮助。