【日付セット】西暦の和暦変換2 (paizaランク C 相当) 解答例 – PHP編【paiza】
【日付セット】 > 西暦の和暦変換2 (paizaランク C 相当)
※リンク先へ移動する為には「paiza」へのログインが必要です。
「西暦の和暦変換」の応用問題となります。っといっても前回の問題が解ければそれほど難しい問題ではありません。違いは西暦を和暦に直したときに元年からへの表記に変換する点です。
解答例
|
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?php $input = explode(" ",trim(fgets(STDIN))); $nenn = $input[0]; $mount = $input[1]; $day = $input[2]; $word = $nenn."/".$mount."/".$day; $test = strtotime($word); //echo $test." "; $meijistart = "1868/1/25"; $meijiend = "1912/7/29"; $meijistarttime = strtotime($meijistart); $meijiendtime = strtotime($meijiend); //echo $meijigo." "; $taisyoustart = "1912/7/30"; $taisyouend = "1926/12/24"; $taisyoustarttime = strtotime($taisyoustart); $taisyouendtime = strtotime($taisyouend); $syouwastart = "1926/12/25"; $syouwaend = "1989/1/7"; $syouwastarttime = strtotime($syouwastart); $syouwaendtime = strtotime($syouwaend); $heiseistart = "1989/1/8"; $heiseiend = "2019/4/30"; $heiseistarttime = strtotime($heiseistart); $heiseiendtime = strtotime($heiseiend); $reiwa = "2019/5/1"; $reiwatime = strtotime($reiwa); //echo $reiwatime; if($test >= $reiwatime){ $year = "令和"; $hoseinenn = $nenn - 2019 + 1; } elseif($test >= $heiseistarttime && $test <= $heiseiendtime){ $year = "平成"; $hoseinenn = $nenn - 1989 + 1; } elseif($test >= $syouwastarttime && $test <= $syouwaendtime){ $year = "昭和"; $hoseinenn = $nenn - 1926 + 1; } elseif($test >= $taisyoustarttime && $test <= $taisyouendtime){ $year = "大正"; $hoseinenn = $nenn - 1912 + 1; } elseif($test >= $meijistarttime && $test <= $meijiendtime){ $year = "明治"; $hoseinenn = $nenn - 1868 + 1; } echo $year; if($hoseinenn == 1){ echo "元"; } else { echo $hoseinenn; } echo "年".$mount."月".$day."日"; ?> |
