「みんな教えて! 選手権!!」開催のお知らせ

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

A 回答 (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;
}
?>
    • good
    • 0

「平成」や「昭和」という意味であれば、標準ではありませんね。


ご自分で関数を作るとかいう拡張であれば可能かもしれません。

ただ、実際同じ年のX月X日を境に元号が違うのですから、調べるのは酷だろうし、実際のコーディングでは、山のように条件分岐が並ぶわけですから、身近なところでしかできないとは思います。
せいぜい、明治、大正、昭和、平成くらいまでで、そこから先になると、史学の世界ですね。
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報