近年、データベースや日付処理で和暦を扱う機会が増えてきました。
そこで、今回はPHPで和暦を表示する方法について丁寧に解説します。
主に二つの方法があります。
一つは「date関数」を使ったもの、もう一つは「DateTimeクラス」を使用した方法です。
それぞれの方法とその使用例について詳細に見ていきましょう。
目次
date関数を使った方法
まず始めに、PHPの組み込み関数である「date関数」を使った方法です。
この方法は、「date関数」を使って現在の年(西暦)を取得し、その年から元号を計算する方法です。
表示したい和暦の年を計算するには、「年」を表す「”Y”」のオプションを使用します。
以下にその一例を示します。
<?php
$year = date("Y");
if ($year >= 2019) {
$reki = "令和";
$year = $year-2018;
} else if ($year >= 1989) {
$reki = "平成";
$year = $year-1988;
} else if ($year >= 1926) {
$reki = "昭和";
$year = $year-1925;
} else {
$reki = "大正";
$year = $year-1911;
}
echo $reki.$year."年";
?>
このコードにより、現在の年(西暦)に応じた和暦が表示されます。
DateTimeクラスを使用した方法
次に「DateTimeクラス」を使用した方法について説明します。
この方法はPHP 5.2.0以降で使用可能で、より柔軟な操作が可能です。
以下にその一例を示します。
<?php
$date = new DateTime('now');
$japanese_date = new IntlDateFormatter('ja_JP_JP', IntlDateFormatter::LONG, IntlDateFormatter::NONE,'Asia/Tokyo', IntlDateFormatter::TRADITIONAL, 'GGGGy年M月d日');
echo $japanese_date->format($date);
?>
このコードにより、現在日時に応じた和暦が表示されます。
IntlDateFormatterクラスを使ってフォーマットを指定することで、出力される日付を細かく制御することができます。
まとめ
今回はPHPで和暦を表示する方法について解説しました。
date関数を使用する方法と、DateTimeクラスを使用する方法があります。
それぞれの方法には、特長と使用場面がありますので、目的によって最適な方法を選択しましょう。
以上、PHPで和暦を表示する方法についてでした。
最後までお読みいただき、ありがとうございました。