OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:190
区分:プログラム  |  分類:JavaScript  |  最終更新日:2012/02/10
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【JavaScript】和暦を西暦に変換する
関連タグ:html, javascript, スクリプト, 言語, 西暦, 和暦, 変換, 明治, 大正, 昭和, 平成
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 27,311

暦を和暦から西暦に変換するには、元となる和暦の年数に各年号の「元年から 1 年引いた年」を足して求めます。 ただし、指定の年数が各年号の「年数」に収まる数値でなければならないため、年号ごとの年数チェックも行う必要があります。 各年号の「元年から 1 年引いた年」と「年数」は以下になります。

 

【和暦年号表】

年号 元年から1年引いた年 年数
平成 1988年 現在進行中
昭和 1925年 64年
大正 1911年 15年
明治 1867年 45年

 

存在しない年(昭和70年など)が指定された場合は、全てエラーとします。

 

【サンプルコード】

if ((n == "平成") && (y > 0)) {
    s = (y+1988)+"年";
} else if ((n == "昭和") && (y > 0) && (y <= 64)) {
    s = (y+1925)+"年";
} else if ((n == "大正") && (y > 0) && (y <= 15)) {
    s = (y+1911)+"年";
} else if ((n == "明治") && (y > 0) && (y <= 45)) {
    s = (y+1867)+"年";
} else {
    s = "指定の和暦年は存在しません";
}

※ 上記サンプルは変数 n が年号で、変数 y が元となる和暦年になります。

 

和暦年を入力させ、それに対する西暦を表示するプログラムは下記「サンプルコード」を参照下さい。

この記事とは逆に西暦を和暦に変換したい場合は、こちらを参照下さい。

 

サンプルコード

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>サンプル</title>
<script language="JavaScript" type="text/javascript"><!--
window.onload = function(){
document.getElementById("convert").onclick = function(){
var n = document.getElementById("nengou").value;
var y = document.getElementById("wareki").value;
y = parseInt(y);
if (isNaN(y)) { s = "数字を入力して下さい"; }
else if ((n == "平成") && (y > 0)) { s = (y+1988)+"年"; }
else if ((n == "昭和") && (y > 0) && (y <= 64)) { s = (y+1925)+"年"; }
else if ((n == "大正") && (y > 0) && (y <= 15)) { s = (y+1911)+"年"; }
else if ((n == "明治") && (y > 0) && (y <= 45)) { s = (y+1867)+"年"; }
else { s = "指定の和暦年は存在しません"; }
document.getElementById("seireki").value = s;
}
}
--></script>
</head>
<body>
<h1>和暦を西暦に変換する</h1>
<form name="sampleForm" id="sampleForm" method="get" action="sample.cgi">
<div>和暦:<select name="nengou">
<option value="X" selected>選択下さい
<option value="平成">平成
<option value="昭和">昭和
<option value="大正">大正
<option value="明治">明治
</select> <input type="text" id="wareki" name="wareki"></div>
<div>西暦:<input type="text" id="seireki" name="seireki"></div>
<div><input type="button" value="西暦へ変換" id="convert"></div>
</form>
</body>
</html>
関連記事
外部リンク
外部リンクはありません。
- 記事検索 -