西暦から和暦形式に変換(令和対応版)
使いまわしていた和暦変換処理。
令和になって既に半年、需要がほとんどなくなりましたが、今回使う機会があったので、判定処理に追加しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //西暦 → 和暦 変換関数 function convWareki($src) { list($year, $month, $day) = explode("/", $src); if (!@checkdate($month, $day, $year) || $year < 1869 || strlen($year) !== 4 || strlen($month) !== 2 || strlen($day) !== 2) return false; $date = str_replace("/", "", $src); $gengo = ""; $wayear = 0; if ($date >= 20190501) { $gengo = '令和'; $wayear = $year - 2018; } elseif ($date >= 19890108) { $gengo = "平成"; $wayear = $year - 1988; } elseif ($date >= 19261225) { $gengo = "昭和"; $wayear = $year - 1925; } elseif ($date >= 19120730) { $gengo = "大正"; $wayear = $year - 1911; } else { $gengo = "明治"; $wayear = $year - 1868; } switch ($wayear) { case 1: $wadate = $gengo."元年".ltrim($month, "0")."月".ltrim($day, "0")."日"; break; default: $wadate = $gengo.sprintf("%02d", $wayear)."年".ltrim($month, "0")."月".ltrim($day, "0")."日"; } return $wadate; } |
1 2 | echo convWareki(2019/12/5); echo convWareki(date('Y/m/d')); |
コメントを残す