分かりやすい、丁寧な記事を心がけています。
平成の次は?の画像です。

元号改正まで後6ヶ月。

  • 2018年11月4日
  • 開発
  • 1497view

皆様訪問いただきありがとうございます。
yukilaboです。

元号の改正まで6ヶ月を切りました。開発者にとっては非常に大変な作業になりそうですね…

元号対応

来年の5月1日から新しい元号に改正されますが、これによって、カレンダーや手帳を製造する企業、さらにはシステムで元号対応している企業など多くの業者が修正加筆作業等に追われることになりますね。
筆者が勤めている会社もシステム会社のため当然対応に追われそうです。

元々、「国民生活への影響も考慮しつつ適切に対応」というような内容で言われていたため、早期発表がなされて然るべく対処をすればエンドユーザーに大きな影響を与えずに修正作業ができると考えていたのですが、紆余曲折あって結局「新元号の公表日を改元の1カ月前と想定」ということで、早くても1ヶ月前の発表ということになってしまいました。
正直1ヶ月での対応というのは、期間が短すぎて修正作業が追いつくか非常に不安です。
個人的に言わせてもらえば、西暦表記でも良いのでは?と思うのですが。
確かに元号は日本固有の文化ではあるので引き継いでいくべきだというのもわかります。
ですが正直、昭和◯年生まれとか平成△年生まれと言われても、パッと何歳か計算するのが難しいですし…
基本的には西暦に統一した方が影響が少ないのは目に見えてるんですけどね。

まあ、とやかく言っても、エンドユーザが元号表記を必要としていれば、対応方針を決めなければならないんですけどね。
正直大変な作業ではあるのですが、事前にファンクション化しておいて、エンドユーザが登録した元号と改定日を元にファンクションを動かして対応するのが最善ですかね。
とりあえず影響の範囲を確認してみましたが、従来から西暦に対して、「平成◯年」というデータを持たせているので、そこを拡張すれば影響範囲は少なくてすみそうです。

今回は、元号改正用のファンクションを作っていきたいと思います。

対応用ファンクション

筆者の会社で使用しているものがPHPなので、とりあえずPHP版のファンクションを作成します。

JavaScript版も需要があれば書こうとは思いますので、もし欲しい等があればコメントください。

基本的な動作としては、入力した西暦の日付をPOSTで取得し、それをファンクションに投げて動作する形にしたいと思います。

動作のイメージ

以下がファンクションです。


$get_date = $_POST['year_date']; //postされた日付を取得
$str_date = strtotime($get_date); //Unixのタイムスタンプに変換する
function GetEra($str_date) {//ここからファンクション
$format='年n月j日'; //フォーマットは「元号」yy年mm月dd日
$firstyear=true; //元年表記をするorしない するなら「true」
$year = (int)date('Y',$str_date); //タイムスタンプから年だけを取得しておく
$date = (int)date('Ymd',$str_date); //yyyymmdd形式で$dateを形成
if ($date >= 20190501) { //新元号(2019年5月1日から)
$name = "新元号";
$year -= 2018;
} else if ($date >= 19890108) { //平成(1989年1月8日から)
$name = "平成";
$year -= 1988;
} else if ($date >= 19261225) { //昭和(1926年12月25日から)
$name = "昭和";
$year -= 1925;
} else if ($date >= 19120730) { //大正(1912年7月30日から)
$name = "大正";
$year -= 1911;
} else if ($date >= 18680125) { //明治(1868年1月25日から)
$name = "明治";
$year -= 1867;
} else {
$name = '西暦';
}
if ($firstyear) { //$firstyearが「true」だったら
if ($year==1){ $year = '元';} //さらにyearが1年ならば元年に書き直す
}
$res = $name.$year. date($format,$str_date);
return $res;
}

とりあえず、これを各画面で常に読み込むファイルに埋め込んで置いて、動かせばいいのではないかと思っております。
修正部分等もあるかと思いますが、とりあえず筆者が思いついたものを書き連ねたコードです。
こうした方が処理的に良いのではなど、諸先輩方からの意見をいただければ嬉しいです。
使えそうであればご自由に使用していただいて構いません。

以上、yukilaboでした!!

平成の次は?の画像です。
興味を持ったら是非!!
広告