PHPで、和暦から西暦に変換したい時には自前で関数を用意する必要があります。
そこで、以前、下記の記事で和暦から西暦に変換する関数を書きましたが、今回は新しく令和に対応させました。
前回記事:【PHP】和暦から西暦に変換したい!
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 35 36 37 38 39 |
<?php /**平成〇年〇月〇日をY-m-dに変換**/ $date = "平成29年4月20日"; $arr_date = fnc_wareki($date); if(is_array($arr_date)) $date = implode('-',$arr_date); //$date="2017-4-20"; function fnc_wareki($date){ /**和暦〇年〇月〇日をarray(年,月,日)に変換**/ preg_match('/(令|平|昭|大|令和|平成|昭和|大正)([0-9]{1,2})[年\/\/\.]([0-9]{1,2})[月\/\/\.]([0-9]{1,2})[日\/\/\.$]/u',$date,$matches); $arr_date['y']=fnc_warekiset($matches[1],$matches[2]); $arr_date['m']=$matches[3]; $arr_date['d']=$matches[4]; return $arr_date; } function fnc_warekiset($gg,$yy){ // 和暦に応じて年度加算 switch($gg){ case "大正" : case "大": $year = 1911 + $yy; break; case "昭和" : case "昭": $year = 1925 + $yy; break; case "平成" : case "平": $year = 1988 + $yy; break; case "令和" : case "令": $year = 2018 + $yy; break; } return $year; } |
コメント