概要
PHPで和暦を取得するプログラムです。
配列の書き方を古くしてあるのでPHP5系から対応しています。
令和対応+英字1文字の略称も対応しています。
和暦・元号を取得する
<?php /** * 日付 (YYYY-MM-DD) から和暦を算出する PHP5系から対応 * * @param string $day * @param string $format * @return string */ function wareki($day, $format = 'name') { $wareki_list = array( array('name' => '令和', 'short' => 'R', 'timestamp' => 1556636400), array('name' => '平成', 'short' => 'H', 'timestamp' => 600188400), array('name' => '昭和', 'short' => 'S', 'timestamp' => -1357635600), array('name' => '大正', 'short' => 'T', 'timestamp' => -1812186000), array('name' => '明治', 'short' => 'M', 'timestamp' => -3216790800), ); $wareki = ''; foreach ($wareki_list as $item) { if ($item['timestamp'] <= strtotime($day)) { $wareki = $item[$format]; break; } } return $wareki; } /* * テスト */ //明治 echo wareki('1868-01-25') . PHP_EOL; //大正 echo wareki('1912-07-30') . PHP_EOL; //昭和 echo wareki('1926-12-25') . PHP_EOL; //平成 echo wareki('1989-01-08') . PHP_EOL; //令和 echo wareki('2019-05-01', 'name') . PHP_EOL; //現在 formatにshortと入れると略称で取得 echo wareki(date('Y-m-d'), 'short') . PHP_EOL;
ソースを保存してターミナルで php wareki.php
と実行すると、下記のように結果が表示されます。
$ php wareki.php 明治 大正 昭和 平成 令和 R
まとめ
- Functionを作成しておけば1行で和暦を取得することができます。
- 2019-04-30を実行すると平成が返却されることを確認済み。
- 明治より前は空文字が返却されますが、配列に追加すれば明治より前も対応できます。
- 令和対応済み