2月23日が天皇誕生日ということで、和暦(令和、平成、昭和、大正)を計算するJavaScriptを作ってみました。
令和・平成の区切りは2019年5月1日です。平成・昭和の区切りは1989年1月8日です。昭和・大正の区切りは1926年12月25日です。
原始的ですが、年・月・日を大小比較してみました。
if (date1_wareki.getFullYear() >= 2020 || date1_wareki.getFullYear() == 2019 && (1+ date1_wareki.getMonth()) >= 5) {
yeartext = "令和" + (date1_wareki.getFullYear()-2018);
} else if (date1_wareki.getFullYear() >= 1990 || date1_wareki.getFullYear() == 1989 && (1+ date1_wareki.getMonth()) == 1 && date1_wareki.getDate() >= 8) {
yeartext = "平成" + (date1_wareki.getFullYear()-1988);
} else if (date1_wareki.getFullYear() >= 1927 || date1_wareki.getFullYear() == 1926 && (1+ date1_wareki.getMonth()) == 12 && date1_wareki.getDate() >= 25) {
yeartext = "昭和" + (date1_wareki.getFullYear()-1925);
} else {
yeartext = "大正" + (date1_wareki.getFullYear()-1911);
}
var datestring = yeartext + "年" + (1+ date1_wareki.getMonth()) + "月" + date1_wareki.getDate() + "日(" + weekday[ date1_wareki.getDay()] + ")";
JavaScriptでは、月が0〜11になります。カレンダーの月は1〜12で、1つずれます。この対処のため、1+ date1_wareki.getMonth()のように、1を足しています。
上のコードを試してみるページを公開しました。↓
英語ページは↓