php根据日期或时间戳获取星座信息和生肖等信息

yipeiwu_com7年前PHP代码库

分享一个利用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;
 $result['gz']=$gzdict[0][($i%10)].$gzdict[1][($i%12)]; 
 $sxdict=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'); 
 $result['sx']=$sxdict[(($y-4)%12)]; 
 return $result; 
}

 使用实例如下:

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

相关文章

PHPEXCEL 使用小记

首先是使用PHP Reader 读取Excle内容: 复制代码 代码如下: require("//www.jb51.net/PHPExcel/Classes/PHPExcel.php")...

php 批量添加多行文本框textarea一行一个

复制代码 代码如下: $act=!empty($_GET['act']) ? trim($_GET['act']) : ''; switch($act) { case 'adda': $...

php 求质素(素数) 的实现代码

复制代码 代码如下: <?php class timer { var $time_start; var $time_end; function __construct() { $t...

功能强大的PHP图片处理类(水印、透明度、旋转)

非常强大的php图片处理类,可以自定义图片水印、透明度、图片缩放、图片锐化、图片旋转、图片翻转、图片剪切、图片反色。  * 图片处理函数功能:缩放、剪切、相框、水印、锐化、旋转...

php cookie中点号(句号)自动转为下划线问题

php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE[‘my.name'] = 1;...