和暦を西暦に変換したりするJavaScript(とHTML)のコード
Github Pagesで和暦 西暦 変換のウェブ ページを公開しております。
グーグル検索エンジンで「github eliphas1810 和暦 西暦」などで検索してみてください。
平成1年を(西暦)1989年に変換したりなどします。
(西暦)1990年を平成2年に変換したりなどします。
2023年3月4日時点の最新のChromeとFirefoxで動作を確認しました。
コピペする場合は、2文字の全角空白を4文字の半角空白に置換してください。
JaYearToWesternYear.htmlなどの適当な名前の空の.htmlファイルの内容にコピペしてから、UTF-8という文字コードで保存し、ChromeやFirefoxといったブラウザで.htmlファイルを見ると、利用できます。
JaYearToWesternYear.html
――――――――――――――――――――
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>和暦 西暦 変換</title>
</head>
<body>
<div>
<input type="radio" name="jaEra" id="taisho"></input>大正
<input type="radio" name="jaEra" id="showa" checked="checked"></input>昭和
<input type="radio" name="jaEra" id="heisei"></input>平成
<input type="radio" name="jaEra" id="reiwa"></input>令和
<input type="radio" name="jaEra" id="western"></input>西暦
<input type="text" id="year" size="8"></input>年
</div>
<div id="message"></div>
<br />
<div>
<button type="button" id="convert">和暦 西暦 変換</button>
</div>
<br />
<div>
<input type="text" id="jaYear" size="10" readonly="readonly"></input> <button type="button" id="copyJaYear">コピー</button>
</div>
<br />
<div>
<input type="text" id="westernYear" size="10" readonly="readonly"></input> <button type="button" id="copyWesternYear">コピー</button>
</div>
<br />
<div>
<input type="text" id="westernYearAndJaYear" size="20" readonly="readonly"></input> <button type="button" id="copyWesternYearAndJaYear">コピー</button>
</div>
<script>
function $(id) {
return document.getElementById(id);
}
$("convert").onclick = function () {
//エラーメッセージの表示を消去して初期化
$("message").innerHTML = "";
$("jaYear").value = "";
$("westernYear").value = "";
$("westernYearAndJaYear").value = "";
var year = $("year").value;
//年が0文字の場合
if (year == "") {
$("message").innerHTML = "数字を年に記入してください。";
return;
}
//年に全角数字が有る場合
if (year.match(/[0-9]/) != null) {
//全角数字を半角数字に置換
year = year.replaceAll(/0/g, "0");
year = year.replaceAll(/1/g, "1");
year = year.replaceAll(/2/g, "2");
year = year.replaceAll(/3/g, "3");
year = year.replaceAll(/4/g, "4");
year = year.replaceAll(/5/g, "5");
year = year.replaceAll(/6/g, "6");
year = year.replaceAll(/7/g, "7");
year = year.replaceAll(/8/g, "8");
year = year.replaceAll(/9/g, "9");
$("year").value = year;
}
//年が1文字以上の(半角)数字ではない場合は、エラーメッセージを表示
if (year.match(/^[0-9]+$/) == null) {
$("message").innerHTML = "数字だけを年に記入してください。";
return;
}
year = year - 0; //数字を数値に変換
if (year <= 0) {
$("message").innerHTML = "1以上の数を年に記入してください。";
return;
}
//大正の場合
if ($("taisho").checked) {
if (15 < year) {
$("message").innerHTML = "15以下の数を年に記入してください。大正は15年までです。";
return;
}
var jaYear = year;
var westernYear = 1911 + year;
$("jaYear").value = "大正" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(大正" + jaYear + "年)";
return;
}
//昭和の場合
if ($("showa").checked) {
if (64 < year) {
$("message").innerHTML = "64以下の数を年に記入してください。昭和は64年までです。";
return;
}
var jaYear = year;
var westernYear = 1925 + year;
$("jaYear").value = "昭和" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(昭和" + jaYear + "年)";
return;
}
//平成の場合
if ($("heisei").checked) {
if (31 < year) {
$("message").innerHTML = "31以下の数を年に記入してください。平成は31年までです。";
return;
}
var jaYear = year;
var westernYear = 1988 + year;
$("jaYear").value = "平成" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(平成" + jaYear + "年)";
return;
}
//令和の場合
if ($("reiwa").checked) {
var jaYear = year;
var westernYear = 2018 + year;
$("jaYear").value = "令和" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(令和" + jaYear + "年)";
return;
}
//西暦の場合
if ($("western").checked) {
if (year <= 1911) {
$("message").innerHTML = "1912以上の数を年に記入してください。1911年(明治44年)以前の和暦には非対応です。";
return;
}
//1912年(大正1年)から1925年(大正14年)までの場合
if (year <= 1925) {
var jaYear = year - 1911;
var westernYear = year;
$("jaYear").value = "大正" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(大正" + jaYear + "年)";
return;
}
//1926年(大正15年または昭和1年)の場合
if (year == 1926) {
$("message").innerHTML = "1926年1月1日から12月24日までは大正15年です。1926年12月25日は大正15年でもあり昭和1年でもあります。1926年12月26日から12月31日までは昭和1年です。";
var westernYear = year;
$("jaYear").value = "大正15年または昭和1年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(大正15年または昭和1年)";
return;
}
//1927年(昭和2年)から1988年(昭和63年)までの場合
if (year <= 1988) {
var jaYear = year - 1925;
var westernYear = year;
$("jaYear").value = "昭和" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(昭和" + jaYear + "年)";
return;
}
//1989年(昭和64年または平成1年)の場合
if (year == 1989) {
$("message").innerHTML = "1989年1月1日から1月7日までは昭和64年です。1989年1月8日から12月31日までは平成1年です。";
var westernYear = year;
$("jaYear").value = "昭和64年または平成1年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(昭和64年または平成1年)";
return;
}
//1990年(平成2年)から2018年(平成30年)までの場合
if (year <= 2018) {
var jaYear = year - 1988;
var westernYear = year;
$("jaYear").value = "平成" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(平成" + jaYear + "年)";
return;
}
//2019年(平成31年または令和1年)の場合
if (year == 2019) {
$("message").innerHTML = "2019年1月1日から4月30日までは平成31年です。2019年5月1日から12月31日までは令和1年です。";
var westernYear = year;
$("jaYear").value = "平成31年または令和1年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(平成31年または令和1年)";
return;
}
//2020年(令和2年)以降の場合
var jaYear = year - 2018;
var westernYear = year;
$("jaYear").value = "令和" + jaYear + "年";
$("westernYear").value = westernYear + "年";
$("westernYearAndJaYear").value = westernYear + "年(令和" + jaYear + "年)";
return;
}
};
$("copyJaYear").onclick = function () {
navigator.clipboard.writeText($("jaYear").value);
};
$("copyWesternYear").onclick = function () {
navigator.clipboard.writeText($("westernYear").value);
};
$("copyWesternYearAndJaYear").onclick = function () {
navigator.clipboard.writeText($("westernYearAndJaYear").value);
};
</script>
</body>
</html>
――――――――――――――――――――
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます