西暦から和暦に変換する関数です。
$year = 1905;
$month = 11;
$day = 22;
$wareki = toJpDate($year, $month, $day);
echo $wareki;
で和暦が表示されます。
1801年の享和から平成までを変換できるようにしました!
デモサイトで確認できます!
スポンサーリンク
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 60 61 62 63 64 65 66 67 68 69 70 | <?php //西暦和暦変換 function toJpDate ($year, $month, $day) { if (!checkdate($month, $day, $year) || $year < 1800) { return false; } $date = (int) sprintf('%04d%02d%02d', $year, $month, $day); if ($date >= 19890108) { // 1989年1月8日から平成 $era = '平成'; $jpYear = $year - 1988; } elseif ($date >= 19261225) { // 1926年12月25日から昭和 $era = '昭和'; $jpYear = $year - 1925; } elseif ($date >= 19120730) { // 1912年7月30日から大正 $era = '大正'; $jpYear = $year - 1911; } elseif ($date >= 18680125){ // 1868年1月25日から明治 $era = '明治'; $jpYear = $year - 1867; } elseif ($date >= 18650407){ // 1865年4月7日から慶応 $era = '慶応'; $jpYear = $year - 1864; } elseif ($date >= 18640220){ // 1864年2月20日から元治 $era = '元治'; $jpYear = $year - 1863; } elseif ($date >= 18610219){ // 1861年2月19日から文久 $era = '文久'; $jpYear = $year - 1860; } elseif ($date >= 18600318){ // 1860年3月18日から万延 $era = '万延'; $jpYear = $year - 1859; } elseif ($date >= 18541127){ // 1854年11月27日から安政 $era = '安政'; $jpYear = $year - 1853; } elseif ($date >= 18480228){ // 1848年2月28日から嘉永 $era = '嘉永'; $jpYear = $year - 1847; } elseif ($date >= 18441202){ // 1844年12月2日から弘化 $era = '弘化'; $jpYear = $year - 1843; } elseif ($date >= 18301210){ // 1830年12月10日から天保 $era = '天保'; $jpYear = $year - 1829; } elseif ($date >= 18180422){ // 1818年4月22日から文政 $era = '文政'; $jpYear = $year - 1817; } elseif ($date >= 18040211){ // 1804年2月11日から文化 $era = '文化'; $jpYear = $year - 1803; } elseif ($date >= 18010205){ // 1801年2月5日から享和 $era = '享和'; $jpYear = $year - 1800; } else { $era = '寛政'; $jpYear = $year - 1789; } if ($jpYear == 1) { $wareki = $era . '元年'; } else { $wareki = $era . $jpYear . '年'; } return $wareki . $month . '月' . $day . '日'; } ?> |
1件のコメント