• ベストアンサー

元号の表示

MySQLでシステム日付をとったり日付関数で年をとったりすると西暦がベースで帰ってきますが元号で表示する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

月日を考慮しない簡易版なら <?php /* gengo(2006)で呼ぶと"平成18年"のような文字列を返します 明治以前は0を返します */ function gengo($year) { $gengo = array("平成", "昭和", "大正", "明治"); $gengo_year = array(1988, 1925, 1911, 1867); foreach($gengo_year as $key=>$val) { if ($year > $val) { return $gengo[$key].($year - $val)."年"; } } return 0; } ?>

その他の回答 (2)

回答No.2

「平成」や「昭和」という意味であれば、標準ではありませんね。 ご自分で関数を作るとかいう拡張であれば可能かもしれません。 ただ、実際同じ年のX月X日を境に元号が違うのですから、調べるのは酷だろうし、実際のコーディングでは、山のように条件分岐が並ぶわけですから、身近なところでしかできないとは思います。 せいぜい、明治、大正、昭和、平成くらいまでで、そこから先になると、史学の世界ですね。

回答No.1

ifで配列から置き換えてしまえば良いのではないでしょうか。

関連するQ&A

専門家に質問してみよう