【程序】使用 PHP 实现公历纪年法对天干地支纪年法的转换

项目地址 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 '年。';

添加新评论