スマホ用西暦和暦変換、年齢と干支付き

この記事は約4分で読めます。

失礼ながら、自分で使うためのスマホ用西暦和暦変換です。変換というより対応ですね。

年齢は今年終了時点の満年齢です。「今年いくつになるか?」です。

西暦和暦変換をするときに、便利なサイトは数多くありますが、大きな表をスクロールさせられます。スマホでは使い勝手が悪いです。

選手登録などで使いますので、チームメイトの生年月日の中央値がデフォルトで選択されています。

しかし、少し残念な結果です。使い勝手が今ひとつ。

実際の使い勝手 < 作る前の予想 

表バージョンは、こちら

以下はメモ(SELECTタグの内容生成)です。

<?php
define('TAISHO_BEGIN', '1912');
define('TAISHO_END', '1926');
define('SHOWA_BEGIN', '1926');
define('SHOWA_END', '1989');
define('HEISEI_BEGIN', '1989');
define('HEISEI_END', '2019');
define('REIWA_BEGIN', '2019');
define('ZODIAC', ['子(ね)', '丑(うし)', '寅(とら)', '卯(う)', '辰(たつ)', '巳(み)', '午(うま)', '未(ひつじ)', '申(さる)', '酉(とり)', '戌(いぬ)', '亥(い)']);

$current_year = date("Y");
for ($year = 1920; $year <= $current_year; $year++) {
    echo '<option value="', $year, '"';
    if ($year == 1962) echo ' selected';
    echo '>';
    echo $year, '(';
    if ($year > TAISHO_BEGIN && $year <= TAISHO_END) echo '大正', $year - TAISHO_BEGIN + 1;
    if ($year == SHOWA_BEGIN) echo '/昭和元年';
    if ($year > SHOWA_BEGIN && $year <= SHOWA_END) echo '昭和', $year - SHOWA_BEGIN + 1;
    if ($year == HEISEI_BEGIN) echo '/平成元年';
    if ($year > HEISEI_BEGIN && $year <= HEISEI_END) echo '平成', $year - HEISEI_BEGIN + 1;
    if ($year == REIWA_BEGIN) echo '/令和元年';
    if ($year > REIWA_BEGIN) echo '令和', $year - REIWA_BEGIN + 1;
    echo ')', $current_year - $year, '歳';
    echo ',', ZODIAC[($year + 8) % 12];
    echo '</option>';
}
?>

コメント