项目地址 https://github.com/Hsiao-Feng/Chinese-Era
关于公元前以及三位数年份此方法是否适用尚未考证,似乎有误,不推荐进行此类的推算。如需尝试公元前年份输入负数即可。
这是我在 2017 年编写的一个小程序,用于公历纪年法对中国传统天干地支纪年法的转换。
计算原理
取最后一位,通过规律得天干;年份除以12得余数取绝对值,通过规律得地支与年份的属相。
使用方法
在index.php
地址后加?n=年份
。例如输入
127.0.0.1/tgdz/index.php?n=2017
即可算出2017年的天干地支纪年法所得年份。
核心代码
$last=substr($year_num, -1);
$first=Abs($year_num % 12);
echo $year_num.'年是';
switch($last){
case 0:
echo '庚';
break;
case 1:
echo '辛';
break;
case 2:
echo '壬';
break;
case 3:
echo '癸';
break;
case 4:
echo '甲';
break;
case 5:
echo '乙';
break;
case 6:
echo '丙';
break;
case 7:
echo '丁';
break;
case 8:
echo '戊';
break;
case 9:
echo '己';
break;
}
switch($first){
case 0:
echo '申 猴';
break;
case 1:
echo '酉 鸡';
break;
case 2:
echo '戌 狗';
break;
case 3:
echo '亥 猪';
break;
case 4:
echo '子 鼠';
break;
case 5:
echo '丑 牛';
break;
case 6:
echo '寅 虎';
break;
case 7:
echo '卯 兔';
break;
case 8:
echo '辰 龙';
break;
case 9:
echo '已 蛇';
break;
case 10:
echo '午 马';
break;
case 11:
echo '未 羊';
break;
}
echo '年。';