和暦から西暦へ変換
和暦から西暦へ変換するやり方をご紹介します。
関数定義
JavaScript
/**
* 和暦から西暦へ変換
* @param {string} name 和暦の名称
* @param {number} year 変換する和暦
* @return {number|false} 変換された西暦を返す
*/
var JCToAD = function(name, year) {
if (!name || !year) return false;
if (typeof year === 'string') {
year = Number(year.replace('年', ''));
}
if (typeof year !== 'number' || year === NaN) return false;
if (year <= 0) return false;
/**
* 和暦の一覧
* @property {string} object.name 和暦名
* @property {number|false} object.year 年数(不明の場合はfalse)
* @property {number} object.startYear 和暦が開始された西暦
*/
var data = [
{
name : '令和',
year : false,
startYear : 2018
},
{
name : '平成',
year : 31,
startYear : 1988
},
{
name : '昭和',
year : 64,
startYear : 1925
},
{
name : '大正',
year : 15,
startYear : 1911
},
{
name : '明治',
year : 45,
startYear : 1867
},
{
name : '慶応',
year : 4,
startYear : 1864
}
];
for (var i = 0, len = data.length; i < len; i++) {
if ((name === data[i].name) && (data[i].year === false || year <= data[i].year)) {
return data[i].startYear + year;
}
}
return false;
};
使い方
構文
var result = JCToAD( jpCalendarName, year );
引数
引数名 | 型 | 説明 |
---|---|---|
jpCalendarName 必須 |
string | 和暦の名称 |
year 必須 |
number | 変換する和暦 |
戻り値
変換に成功した場合は変換された数値、失敗した場合はfalseを返します。
JavaScript
var result = JCToAD('大正', 14);
alert(result); // 1925