ググらずには前へ進めないフロントエンドエンジニアが書く、次はググらなくてもできますように…とメモを残すブログです!

PHPで西暦と元号を簡単に出す

2018/06/07
PHP
⚠️投稿日または最終更新日から4年以上経過している内容です。

ちょっと必要だったので考えてみました。 わりと簡単にできたのでメモ!

php
// 開始年調節
$_begin_year = 52;

// 終了年調節
$_end_year = -20;

// 元号
$_era = [
    '昭和' => ['from' => 1926, 'to' => 1989],
    '平成' => ['from' => 1989, 'to' => 2019],
    '令和' => ['from' => 2019],
];

foreach(range((date('Y') - $_begin_year), (date('Y') - $_end_year)) as $year) {
    $era = '';
    foreach($_era as $key => $value) {
        if ($value['from'] <= $year && (!isset($value['to']) || isset($value['to']) && $value['to'] >= $year)) {
            $add = $key . ($year - $value['from'] + 1) . '年';
            $era = ($era === '')  ? $add : $era . ' / ' . $add;
        }
    }
    $year = $year . '年 / ' . $era;
    echo $year . '<br>';
}
html
■結果
1966年 / 昭和41年
1967年 / 昭和42年
1968年 / 昭和43年
1969年 / 昭和44年
1970年 / 昭和45年
1971年 / 昭和46年
1972年 / 昭和47年
1973年 / 昭和48年
1974年 / 昭和49年
1975年 / 昭和50年
1976年 / 昭和51年
1977年 / 昭和52年
1978年 / 昭和53年
1979年 / 昭和54年
1980年 / 昭和55年
1981年 / 昭和56年
1982年 / 昭和57年
1983年 / 昭和58年
1984年 / 昭和59年
1985年 / 昭和60年
1986年 / 昭和61年
1987年 / 昭和62年
1988年 / 昭和63年
1989年 / 昭和64年 / 平成1年
1990年 / 平成2年
1991年 / 平成3年
1992年 / 平成4年
1993年 / 平成5年
1994年 / 平成6年
1995年 / 平成7年
1996年 / 平成8年
1997年 / 平成9年
1998年 / 平成10年
1999年 / 平成11年
2000年 / 平成12年
2001年 / 平成13年
2002年 / 平成14年
2003年 / 平成15年
2004年 / 平成16年
2005年 / 平成17年
2006年 / 平成18年
2007年 / 平成19年
2008年 / 平成20年
2009年 / 平成21年
2010年 / 平成22年
2011年 / 平成23年
2012年 / 平成24年
2013年 / 平成25年
2014年 / 平成26年
2015年 / 平成27年
2016年 / 平成28年
2017年 / 平成29年
2018年 / 平成30年
2019年 / 平成31年 / 令和1年
2020年 / 令和2年
2021年 / 令和3年
2022年 / 令和4年
2023年 / 令和5年
2024年 / 令和6年
2025年 / 令和7年
2026年 / 令和8年
2027年 / 令和9年
2028年 / 令和10年
2029年 / 令和11年
2030年 / 令和12年
2031年 / 令和13年
2032年 / 令和14年
2033年 / 令和15年
2034年 / 令和16年
2035年 / 令和17年
2036年 / 令和18年
2037年 / 令和19年
2038年 / 令和20年