西暦和暦変換

西暦と和暦元号をPHPで相互変換

PHP

/** * * 西暦和暦変換 * * @param int $year * @param int $month * @param int $day * @param string $era * @return array */ function getEra($year, $month, $day, $era = '') { if (empty($era)) { // 西暦から和暦 $seireki = $year; if ($seireki > 2020 || $seireki == 2019 && $month >= 5) { // 令和 2019/5/1~ $era = '令和'; $wareki = $seireki - 2018; } elseif ($seireki > 1989 || $seireki === 1989 && $month > 1 || $seireki == 1989 && $month == 1 && $day >= 8) { // 平成 1989/1/8~ $era = '平成'; $wareki = $seireki - 1988; } elseif ($seireki > 1926 || $seireki == 1926 && $month > 12 || $seireki == 1926 && $month == 12 && $day >= 25) { // 昭和 1926/12/25~ $era = '昭和'; $wareki = $seireki - 1925; } elseif ($seireki > 1912 || $seireki == 1912 && $month > 7 || $seireki == 1912 && $month == 7 && $day >= 30) { // 大正 1912/7/30~ $era = '大正'; $wareki = $seireki - 1911; } else { // 明治 1868/1/25~ $era = '明治'; $wareki = $seireki - 1867; } } else { // 和暦から西暦 $wareki = $year; if ($era == '令和') { $seireki = $wareki + 2018; } elseif ($era == '平成') { $seireki = $wareki + 1988; } elseif ($era == '昭和') { $seireki = $wareki + 1925; } elseif ($era == '大正') { $seireki = $wareki + 1911; } else { $seireki = $wareki + 1867; } } return array($seireki, $wareki, $era); }

西暦から和暦(新元号は対象外)

サンプル

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について