PHPで「西暦・和暦・年齢・干支 早見表」を作成
たまに西暦から和暦を調べたいことがあったので、PHPで西暦和暦の早見表を作成しました。
年齢と十二干支も見れるようにしています。
その関数を公開します。
作成した西暦・和暦・年齢・干支 早見表はこちらになります。
西暦→和暦変換関数
//--------------------------------- // 西暦から和暦に変換 // 引数 $yyyy 西暦年 // 戻り値 和暦 //--------------------------------- function getSeirekiToWareki($yyyy){ if($yyyy>=1868 && $yyyy<=1911){ $yyyy = $yyyy - 1867; if($yyyy==1){ $yyyy = "明治元年(慶応4年)"; } else{ $yyyy = "明治" . $yyyy . "年"; } } elseif($yyyy<=1925){ $yyyy = $yyyy - 1911; if($yyyy==1){ $yyyy = "大正元年(明治45年)"; } else{ $yyyy = "大正" . $yyyy . "年"; } } elseif($yyyy<=1988){ $yyyy = $yyyy - 1925; if($yyyy==1){ $yyyy = "昭和元年(大正15年)"; } else{ $yyyy = "昭和" . $yyyy . "年"; } } elseif($yyyy<=2018){ $yyyy = $yyyy - 1988; if($yyyy==1){ $yyyy = "平成元年(昭和64年)"; } else{ $yyyy = "平成" . $yyyy . "年"; } } elseif($yyyy>=2019){ $yyyy = $yyyy - 2018; if($yyyy==1){ $yyyy = "令和元年(平成31年)"; } else{ $yyyy = "令和" . $yyyy . "年"; } } return $yyyy; }
十二干支の取得関数
干支は、年を12で割ったあまりから判断することができます。
申(さる)
0 = 申(さる)
1 = 酉(とり)
2 = 戌(いぬ)
3 = 亥(いのしし)
4 = 子(ねずみ)
5 = 丑(うし)
6 = 寅(とら)
7 = 卯(うさぎ)
8 = 辰(たつ)
9 = 巳(へび)
10 = 午(うま)
11 = 未(ひつじ)
0 = 申(さる)
1 = 酉(とり)
2 = 戌(いぬ)
3 = 亥(いのしし)
4 = 子(ねずみ)
5 = 丑(うし)
6 = 寅(とら)
7 = 卯(うさぎ)
8 = 辰(たつ)
9 = 巳(へび)
10 = 午(うま)
11 = 未(ひつじ)
//--------------------------------- // 干支を取得 // 引数 $yyyy 西暦年 // 戻り値 干支 //--------------------------------- function getEto($yyyy){ $amari = $yyyy % 12; $arr_eto = array( "申(さる)", "酉(とり)", "戌(いぬ)", "亥(いのしし)", "子(ねずみ)", "丑(うし)", "寅(とら)", "卯(うさぎ)", "辰(たつ)", "巳(へび)", "午(うま)", "未(ひつじ)" ); return $arr_eto[$amari]; }
表を作成
<table class="table table-sm table-bordered table-hover"> <thead> <tr class="table-primary"> <th>西暦</th> <th>和暦</th> <th>年齢</th> <th>十二干支</th> </tr> </thead> <tbody> <?php for($yyyy=date("Y"); $yyyy>=1868; $yyyy--){ ?> <tr> <td><?php echo $yyyy; ?>年</td> <td><?php echo getSeirekiToWareki($yyyy); ?></td> <td><?php echo date("Y") - $yyyy; ?>歳</td> <td><?php echo getEto($yyyy); ?></td> </tr> <?php } ?> </tbody> </table>