PHPで西暦⇔和暦変換をする

シェアする

PHPで和暦を西暦に変換したり、西暦を和暦に変換したりすることがあると思います。
何か良いプログラムはないかと思い探していたところgistに上がっていたので紹介します。

PHPで西暦⇔和暦変換するプログラム

今年は、天皇陛下が退位して、新元号になる年なので、新元号に対応したソースをフォークして作成してみました。

PHPで西暦⇔和暦変換(新元号対応)

新元号がまだ、発表されていないので、その辺りは、適当なのですが、ちょこっとだけいじってみました。
新元号になったら手直ししようと思います。

まとめ

今まで、私自身は、西暦⇔和暦変換をする機会というのはなかったのですが、汎用的に利用できるプログラムだなと思って、紹介させていただきました。
PHPで、西暦⇔和暦変換をする機会のある方は、参考にしてください。

シェアする

フォローする

コメント

  1. さと より:

    参考になる記事ありがとうございます。

    var_dump(convJtGDate(“昭和56年12月32日”));

    12月32日という存在しない日があるのはなぜでしょうか?

  2. live0117 より:

    コメントありがとうございます。

    このプログラムでは、ある一定の条件を見たなさない値が入力値としてきた場合、その元号⇄西暦は変換できないよという意味でfalseを返しています。

    昭和56年12月32日も実際にない日にちなのでfalseが戻り値として戻ります。
    このプログラムでは対応していない嘉永などもfalseの帰ってくる元号です。

    入力値の月が1月の場合は、01と入力しないとこのプログラムではfalseを戻すわけですが、
    入力値がfalseで戻ってきた場合は、誤った計算をして元号対応していないよう、入力が間違っているよとわかるようにfalseを返しています。

    その例として、
    var_dump(convJtGDate(“昭和56年12月32日”));
    のような実際に存在しない日付も記載しています。