以下はJavaScriptを使用した年齢から元号と西暦を計算するアプリです。入力された年齢を元号に変換し、現在の西暦から減算して求めます。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>年齢から元号と西暦を計算するアプリ</title>
</head>
<body>
<h1>年齢から元号と西暦を計算するアプリ</h1>
<label for="age">年齢:</label>
<input type="number" id="age" name="age">
<br><br>
<button onclick="calculate()">計算する</button>
<p id="result"></p>
<script>
function calculate() {
// 元号と西暦の対応表
const eraList = [
{ name: "令和", start: 2019 },
{ name: "平成", start: 1989 },
{ name: "昭和", start: 1926 },
{ name: "大正", start: 1912 },
{ name: "明治", start: 1868 }
];
// 入力された年齢を取得
const age = document.getElementById("age").value;
// 現在の西暦を取得
const now = new Date();
const year = now.getFullYear();
// 入力された年齢から誕生年を求める
const birthYear = year - age;
// 元号と西暦を計算
let gengo = "";
let seireki = "";
for (const era of eraList) {
if (birthYear >= era.start) {
gengo = era.name;
seireki = birthYear - era.start + 1;
break;
}
}
// 結果を表示
const result = document.getElementById("result");
result.innerHTML = `${age}歳の誕生年は${gengo}${seireki}年です。`;
}
</script>
</body>
</html>
```
ジョークとして、年齢を「半年」ずつ増やすと西暦だけでなく元号も変わるということを入力画面で提示して楽しんでもらうと良いでしょう。