おはようございます。
せおゆりかです。
昨日、来月1日から変わる新年号が発表されましたね。
『令和』
意味は万葉集から採用したもので、
万葉集
「初春の令月にして 気淑く風和ぎ 梅は鏡前の粉を披き 蘭は珮後の香を薫らす」
から取られました。
これまで247ある元号はすべて中国の古典からとられてきたが、今回、初めて、日本の古典から選ばれたそうです。
来月から年号が変わるときに、ホームページも年号を書き換えないと・・・
これ、結構地味に面倒な作業なんですよね・・・
私は、年号が変わると書き換えるのが非常に面倒なので、絶対に西暦にしています。
お客様にも「年号で書かれるとわからないので、西暦の方がいいですよ」とゴリ押しおすすめしています。
決して、自分のためではないのです。
でも、年号だろうが西暦だろうが、HTMLだと書き換えが面倒
そこで、出てくるのがPHPですよ。
私もPHPは得意ではないですが、これなら置くだけ。
めっちゃ簡単。
よく、フッター部分にあるコレ。
よくあるやつ
©Copyright2019 プリンセスビジョン【PrincessVision】.All Rights Reserved.
ここの「2019」部分は、PHP処理されています。
だから、毎年いちいち該当部分のHTMLを開かなくても年が変わるごとに変えてくれます。
西暦をPHPで処理する
<?php echo date("Y/m/d"); ?>
これで、
"2017/08/21"
と表示されます。
ということは、上記の2019のみを表示させたいときは
<?php echo date("Y"); ?>
と表示させたらいいわけですよね。
簡単です。
参照:Code Camps
じゃあ和暦は表示させられるの?
考えてる人は考えてるんですよね・・・
こんな感じで表示させられるそうです。
// 平成30年1月28日
convert_jpdt(time());
// 平成30年01月28日
convert_jpdt(time(),'年m月d日');
// H30.01.28
convert_jpdt(time(),'.m.d',false);
ソースコード
<? php
// 西暦→和暦変換
function convert_jpdt($dt,$fmt='年n月j日',$kanji=true) {
$date = (int)date('Ymd',$dt);
$year = (int)date('Y',$dt);
if ($date >= 20190501) { //令和元年(2019年5月1日以降)
$name = " R令和";
$year -= 2018;
} else if ($date >= 19890108) { //平成元年(1989年1月8日以降)
$name = " H平成";
$year -= 1988;
} else if ($date >= 19261225) { //昭和元年(1926年12月25日以降)
$name = " S昭和";
$year -= 1925;
} else if ($date >= 19120730) { //大正元年(1912年7月30日以降)
$name = " T大正";
$year -= 1911;
} else if ($date >= 18680125) { //明治元年(1868年1月25日以降)
$name = " M明治";
$year -= 1867;
} else {
$name = 'AD 西暦';
}
if ($kanji) {
$name = substr($name,3);
if ($year==1) $year = '元';
} else {
$name = ltrim(substr($name,0,3));
}
return $name.$year.date($fmt,$dt);
}
うーん、PHPすごい。
まとめ
今回はちょっとだけコーダーみたいなことを書いてみました。
西暦・和暦問わず、こういう処理って本当に面倒なので、少しでもHP制作が楽になるといいですよね!