<?php
/*
PHP计算干支(即天干地支)和生肖,轻松E站原创程序.
www.51-n.com原创程序
功能:计算1900至2099年任意年份的天干地支和生肖
程序编译日期:2012年7月30日
*/
function getGZ($year){
$zhi=array('子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥');
$gan=array('甲','乙','丙','丁','戊','己','庚','辛','壬','癸');
$animals=array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪');
if(is_numeric($year) && $year>=1900 && $year<2100 && strlen($year)==4){
$lastDigit=substr($year,-1);
//1900~2100年年干=年份最后一位数-3,结果为负则+10,最后得到的数为几则为第几个值,下同.
$gI=($lastDigit-3 >0 ? $lastDigit-3 : $lastDigit+10-3)-1;
//1900~1999年年支=年份最后两位数+1,2000~2099年年支=年份最后两位数+5
//然后除以12取余数,余数为0时重置为12以免数组索引为负数.;
$last2Digits=substr($year,-2);
if($year>=1900 && $year<=1999){
$last2Digits+=1;
} else {
$last2Digits+=5;
}
$zI=($last2Digits>12 ? ($last2Digits%12==0 ? 12:$last2Digits%12) : $last2Digits%12)-1;
return $year.'年是'.$gan[$gI].$zhi[$zI].$animals[$zI].'年';
} else {
return $year.'不是1900-2099之间的4位整数';
}
}
echo getGZ('2099');//调用方法
?>
输出:2099年是己未羊年 |
|