2012年10月10日水曜日

和暦→西暦変換から発展


西暦から和暦に変換するアプリを作ったわけですが、普通の生活では役に立ちそうにありません。
もっと昔の年号にも対応すれば、歴史の話題で「その頃日本は・・・」のように使えるかもしれませんが・・・。

逆の和暦から西暦への変換は、誕生日を西暦で聞かれた時にちょくちょく必要になります。
ということで、和暦→西暦変換を作ったのですが、少しの変更で西暦→和暦変換にもなることに気がついたので、結局両方向の変換としました。年齢表示もついでにつけています。

西暦和暦変換

和暦→西暦は

平成1年~ → 1989~
昭和1年~64年:1926~1989
大正1年~15年:1912~1926
明治1年~45年:1868~1912

となっているので、それぞれの年号で

平成:年+1988
昭和:年+1925
大正:年+1911
明治:年+1867

とすることになります。つまり

switch (nengo) {
case 0:
  ac = wa;
  break;
case 1:
  ac = wa + 1867;
  break;
case 2:
  ac = wa + 1911;
  break;
case 3:
  ac = wa + 1925;
  break;
case 4:
  ac = wa + 1988;
  break;
default:
  ac = 0;
  break;
}

として西暦に変換します。
nengoは

4=平成
3=昭和
2=大正
1=明治

です。

0は西暦から和暦への変換で使用します。

入力された値を、一度西暦に変換してから、前回の西暦和暦変換を利用して表示します。

今回は簡単でした。

存在しない年、例えば昭和65年を入力された際には、実際の年である平成2年を表示するようにしています。
明治以前は和暦表示はなしです。

年齢は満年齢なので、誕生日の前は1を引いた年齢になります。

0 件のコメント:

コメントを投稿