借鉴网上的算法,进行改良
1.[代码]天干地支算法1
/*天干地支算法:
一.公元后的:
天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2 癸3
如1894年末尾一个数是4就甲年,依此类推
地支:子4 丑5 寅6 卯7 辰8 巳9 午10 未11 申0 酉1 戌2 亥3
换算:1894除以12,余数是几,就在地支中找几.
二.公元前的:
天干:甲7 乙6 丙5 丁4 戊3 己2 庚1 辛0 壬9 癸8
如公元前7年就是甲年依此类推
地支:子-9 丑-8 寅-7 卯-6 辰-5 巳-4 午-3 未-2 申-1 酉0 戌-11 亥-10
换算:如公元前221年,-221除以12,余数是几,就在地支中找几
*/
$TGDZ = array (array ('甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸' ),
array ('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥' ) );
$Year = 2014;
$Year_JiSuan = $Year - 1900 + 36;
$TianGanDiZhi = $TGDZ[0][$Year_JiSuan % 10] . $TGDZ[1][$Year_JiSuan % 12];
echo $Year."年为农历[".$TianGanDiZhi."]年";
?>
2.[代码]天干地支算法2
/*天干地支算法版本2:*/
$TGDZ = array (array ('庚', '辛', '壬', '癸' ,'甲', '乙', '丙', '丁', '戊', '己'),
array ( '申', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未') );
for ($Year = 1900; $Year <= 2099; $Year++)
{
$TianGanDiZhi = $TGDZ[0][$Year % 10] . $TGDZ[1][$Year % 12];
echo $Year . "年为农历[" . $TianGanDiZhi . "]年
";
}
?>
3.[代码]生肖算法1
/*生肖算法版本1:*/
if($_POST['year']){
$y = $_POST['year'];
$sxdict = array('猴', '鸡', '狗', '猪','鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊');
$result['sx'] = $sxdict[$y%12];
var_dump($result['sx']);
}
?>
4.[代码]生肖算法2 (按照正常顺序)
/*生肖算法版本2:*/
if($_POST['year']){
$y = $_POST['year'];
$sxdict = array('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪');
$result['sx'] = $sxdict[(($y-4)%12)];
var_dump($result['sx']);
}
?>