本日から令和元年がスタートしました。
エンジニアとしては一番気になるのが過去に携わったシステムの和暦表記です。
自分で担当している分は基本的に関数化して1箇所にまとめているのでそんなにたいした影響はないはずですが、今までいろいろなプログラマーが作成したソースの中にはプルダウンに思いっきり和暦をべた書きとか、データベースに和暦を文字列のまま格納しているとか、豪快なソースコードも見てきましたのでそのあたりはどうなのかなーと人ごとながら気になっています(笑)
さて、一応今後どこかで関わることもあるかもしれないので、一応明治・大正・昭和・平成・令和の西暦和暦変換関数を作っておこうと思います。
全然たいした物ではありませんが。
重要なのは時代の区切りが整理できているかだけです。
一応まとめておくと以下の通り。
明治(1868年1月25日〜1912年7月29日)
大正(1912年7月30日〜1926年12月24日)
昭和(1926年12月25日〜1989年1月7日)
平成(1989年1月8日〜2019年4月30日)
令和(2019年5月1日〜)
なのであとは上記を条件分岐するだけです。
あとは言語にあわせたコーディンスをするだけですね。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function warekiText($date) | |
{ | |
$yyyymmdd = preg_replace('%(\-|/)%', '', $date); | |
$warekiTextText = null; | |
if ($yyyymmdd >= '20190501') { | |
$warekiTextText = '令和'; | |
} elseif ($yyyymmdd >= '19890108') { | |
$warekiTextText = '平成'; | |
} elseif ($yyyymmdd >= '19261225') { | |
$warekiTextText = '昭和'; | |
} elseif ($yyyymmdd >= '19120730') { | |
$warekiTextText = '大正'; | |
} else { | |
$warekiTextText = '明治'; | |
} | |
return $warekiTextText; | |
} |