西暦から和暦へ変換

西暦から和暦へ変換するやり方をご紹介します。

関数定義

JavaScript

/**
 * 西暦から和暦へ変換
 * @param {number} year 変換する西暦
 * @return {{name:string,year:number}|boolean} 変換に成功したら和暦名称と年号、変換に失敗したらfalseを返す
 */
var ADToJC = function(year) {
	var data, i, len;

	if (!year) return false;

	if (typeof year === 'string') {
		year = Number(year.replace('年', ''));
	}

	if (typeof year !== 'number' || year === NaN) return false;
	if (year <= 0) return false;

	data = [
		{
			name      : '平成',
			startYear : 1988
		},
		{
			name      : '昭和',
			startYear : 1925
		},
		{
			name      : '大正',
			startYear : 1911
		},
		{
			name      : '明治',
			startYear : 1867
		}
	];

	for (i = 0, len = data.length; i < len; i++) {
		if (year >= data[i].startYear) {
			return {
				name : data[i].name,
				year : year - data[i].startYear
			};
		}
	}

	return false;
};

使い方

var result = ADToJC( year );

引数

引数名 説明
year
必須
number 変換する西暦

戻り値

変換に成功した場合は変換された数値、失敗した場合はfalseを返します。

JavaScript

var result = ADToJC(2023);

alert(result);

JavaScript逆引きリファレンス一覧へ戻る