Claudeは和暦・西暦変換をどこまで正確にできるか
元号法と改元の政令をもとに、Claudeへ和暦・西暦の変換や年度をまたぐ日付計算を実際にさせ、境界日で何が起きるか確かめました。
平成27年は2015年、令和7年は2025年です。和暦から西暦への変換は、元年の西暦に応じた足し算で済みます。
和暦と西暦の早見表と計算式
和暦から西暦は、令和なら2018、平成なら1988、昭和なら1925を和暦の年数に足します。西暦から和暦はその逆で、同じ数を引きます。
| 和暦 | 西暦 | 計算 |
|---|---|---|
| 令和8年 | 西暦2026年 | 計算2018+8 |
| 令和7年 | 西暦2025年 | 計算2018+7 |
| 令和元年 | 西暦2019年 | 計算2018+1 |
| 平成31年 | 西暦2019年 | 計算1988+31 |
| 平成27年 | 西暦2015年 | 計算1988+27 |
| 平成元年 | 西暦1989年 | 計算1988+1 |
| 昭和64年 | 西暦1989年 | 計算1925+64 |
逆算の例です。2015年は2015−1988=27で平成27年になります。2019年は令和元年と平成31年の両方に当たるため、月日で見分けます。
元号法が定める和暦のルールはわずか2項
検証にはclaude.ai(web版)のClaudeを使い、和暦・西暦変換や日付計算のプロンプトを実際に投げて回答を確認しました。
和暦の根拠は元号法(昭和54年法律第43号)です。本則はたった2項しかありません。「元号は、政令で定める」「元号は、皇位の継承があつた場合に限り改める」。これだけです。
元号法は1979年6月12日に公布され、附則1項のとおり同じ日から施行されました。
法律自体が短いということは、和暦から西暦への変換ルールも本来はシンプルなはずです。元号が変わるのは皇位継承のときだけで、途中で改元されることはありません。それでも日付計算に元号が絡むと、単純な年変換より必要な情報が増えます。増えるのは法律の複雑さではなく、境界日をどこまで正確に踏まえられるかです。
実際にどの元号がいつからいつまでかは、元号法そのものではなく、改元のたびに出る政令に書かれています。平成への改元は昭和64年政令第1号、令和への改元は平成31年政令第143号です。これらの施行日を一次資料として、Claudeに和暦・西暦の変換をさせてみました。
元号法には附則も2項あります。「この法律は、公布の日から施行する」「昭和の元号は、本則第一項の規定に基づき定められたものとする」。昭和は1926年から始まっているので、1979年に成立したこの法律より先に存在していたことになります。附則2項は、その先行していた昭和の元号を、この法律の規定に基づくものとして扱うと定めた条文です。施行前に始まった元号でも法的根拠は元号法にさかのぼりますが、年の計算結果には影響しません。
Claudeへ和暦・西暦の変換を計算させる
変換式は冒頭の早見表のとおりで、どの元号でも「元年が何年か」さえ分かれば同じ形になります。
Claudeに「令和7年は西暦何年ですか」と尋ねると、2025年と正しく返ります。「2025年は令和何年ですか」と逆方向に聞いても令和7年と返り、単純な変換では誤りは出ませんでした。ここから先は、計算に必要な情報が段階的に増えていきます。
昭和の式は、1989年1月7日が昭和64年なので1989−64=1925から出ます。平成・令和の元年は、改元政令の施行日(1989年1月8日、2019年5月1日)から決まります。式を押さえておけば、Claudeの出した年数を自分でも即座に検算できます。
元号をまたいだ年数の加減算も試しました。「令和7年から10年前は西暦何年ですか、その年を元号で言うと何年ですか」と尋ねると、2015年、平成27年という答えが返りました。令和7年(2025年)から10年引くと2015年で、これは平成の期間(1989〜2018年)に入るため、令和の式ではなく平成の式(1988+N)に切り替える必要があります。Claudeはこの元号の切り替えも正しく処理しました。
元号の境界日でどこまで正確か
境界日を挟む日付になると、単純な年変換だけでは足りません。令和は2019年5月1日から始まりました。2019年4月30日は令和ではなく平成31年4月30日です。
Claudeに「2019年4月30日は元号で言うと何ですか」と聞くと、平成31年4月30日と正しく答えました。次に「2019年4月1日から3か月後の日付と、その日を元号で答えてください」と尋ねると、2019年7月1日、令和元年7月1日という答えが返りました。3か月後の計算そのものは単純な日数計算ですが、その日付が改元後だと判断して元号を令和に切り替える処理が必要になる点で、単純な年変換より難易度が上がります。
元号法と2つの改元政令の日付
- 1979年6月12日元号法の公布・施行
附則1項により、公布の日から施行されました。
- 1989年1月7日昭和64年政令第1号を公布
この日はまだ昭和64年です。「元号を平成に改める」政令で、附則は「公布の日の翌日から施行する」とだけ定めています。
- 1989年1月8日平成元年のはじまり
政令の施行日です。直前の1月7日は昭和64年1月7日と表記します。
- 2019年4月1日平成31年政令第143号を公布
施行の1か月前の公布です。この日の元号表記はまだ平成31年4月1日です。
- 2019年4月30日特例法の施行日(平成31年4月30日)
平成最後の日です。この日のうちに皇位の継承が済みます。
- 2019年5月1日令和元年のはじまり
政令の施行日です。
2つの政令は、施行日の書き方が違います。
政令の附則は施行日をどう指定しているか
昭和64年政令第1号
「公布の日の翌日から施行する」と書かれています。条文に日付はなく、公布日の1989年1月7日から1月8日が導かれます。
平成31年政令第143号
天皇の退位等に関する皇室典範特例法(平成29年法律第63号)の施行の日(平成31年4月30日)の「翌日」から施行すると書かれ、日付が条文中に入っています。
改元日を尋ねるときは、元号法ではなく政令の附則を見る必要があります。公布日と施行日、特例法の施行日とその翌日がそれぞれ別の日なので、取り違えると境界日の表記が1日ずれます。
特例法の条文から、4月30日と5月1日の切れ目を読む
令和への改元が4月30日と5月1日の間で切れる理由は、元号法本則2項と特例法2条を並べると読めます。元号法は「皇位の継承があつた場合に限り」元号を改めると定めています。一方、天皇の退位等に関する皇室典範特例法(2017年6月16日公布)の2条は、天皇は「この法律の施行の日限り、退位し、皇嗣が、直ちに即位する」と定めています。
施行の日は、特例法の附則1条により、公布から3年を超えない範囲で政令が決める日とされました。その日が平成31年4月30日で、令和の政令の附則に日付が書かれています。4月30日のうちに皇位の継承が済み、その翌日の5月1日から新しい元号になる、という順序です。
この順序は昭和から平成のときも同じです。特例法1条は前の天皇の即位を「昭和64年1月7日」と書いており、新元号の初日はその翌日の1月8日でした。皇位継承の日と新元号の初日は、どちらの改元でも1日ずれています。昭和64年が1月7日までの7日間で終わるのも、この切れ目の結果です。
和暦の日付計算で境界になるのは、新元号の初日です。皇位継承の日でも公布日でもありません。Claudeに改元日を答えさせるときも、問いが公布日・施行日・新元号の初日のどれを指すのかを分けて書くと、答えを条文と照合しやすくなります。
答えが条文から一意に決まる日付を問いに選ぶと、採点もしやすくなります。1989年1月7日は昭和64年、2019年4月1日は平成31年、2019年5月1日は令和元年が正解です。4月1日を令和と答えていれば、令和の政令の公布日と施行日を取り違えた誤りと判断できます。
昭和64年という7日間だけの元号をどう扱うか
昭和64年は、1989年1月1日から1月7日までの7日間で終わります。この短さが、和暦計算のもう1つの落とし穴になります。Claudeに「1989年1月3日は昭和何年の何月何日ですか」と聞くと、昭和64年1月3日と正しく答えました。
さらに踏み込んで「昭和64年3月15日という日付は存在しますか」と尋ねると、存在しないと正しく判定し、平成元年3月15日への置き換えを提案しました。昭和64年は1月7日で終わっているため、3月という月はそもそも訪れません。7日間しかない元号は、存在確認そのものを問わないと、期間外の日付が計算に紛れ込むことがあります。
「元年」と「1年」の表記ゆれでも計算は崩れないか
元号の最初の年は「令和1年」ではなく「令和元年」と書くのが正しい日本語の慣例です。ただし入力する側が「令和1年」と算用数字で書いてしまう場面は珍しくありません。この表記ゆれで計算がずれないかも確認しました。
Claudeに「令和1年は西暦何年ですか」と尋ねると、「令和元年」と同じ2019年だと正しく答え、表記の違いには言及しつつも数値としては同一に扱いました。続けて「昭和元年と昭和1年は同じ年を指しますか」と聞いても、同じ年を指すという回答でした。元号の年数表記が「元年」か「1年」かという慣例の違いは、変換結果の正確さには影響しませんでした。複雑さが増すのは、あくまで境界日をまたぐ複合計算のほうです。
Claudeの和暦変換で確認が必要になるのはどの操作か
試したプロンプトでは、単純な年変換から境界日をまたぐ複合計算まで、Claudeはすべて正しく答えました。ただし必要な情報量には差があります。「令和7年は西暦何年か」は元年の西暦さえ分かれば解けます。日数計算と元号判定が重なると、改元日を計算の途中まで持ち続ける必要があります。
答えを確かめる価値が高い操作は2つです。1つは、加減算した日付が改元日の前後どちらに落ちるかの判定。もう1つは、昭和64年3月のような期間外の日付を実在するものとして扱わないことです。元号法が複雑なのではなく、改元日という1点の情報を最後まで保持できるかが分岐点になります。
この特性は年度をまたぐ日付計算とも重なります。会計年度や学年度は4月1日始まりで区切られますが、平成から令和への改元(2019年5月1日)は年度の途中に起きました。同じ年度の中で元号表記が前半と後半で変わるため、年度計算に元号判定を組み合わせるタスクでは両方の境界を同時に扱う必要があります。年度計算そのもので複雑さが増す場面は、Claudeで年度またぎのスケジュールを組むと何が起きるかで別に検証しています。
境界日の答えを自分で検算するスクリプト
Claudeの回答を検算するには、令和と平成の開始日だけを持つ短いスクリプトで足ります。昭和は年の式(1925+N)だけで足りるので開始日は持たせておらず、対象は1927年以降の日付です。
from datetime import date
ERAS = [("令和", date(2019, 5, 1)), ("平成", date(1989, 1, 8))]
def wareki(d):
for name, start in ERAS:
if d >= start:
y = d.year - start.year + 1
return f"{name}{'元' if y == 1 else y}年{d.month}月{d.day}日"
return f"昭和{d.year - 1925}年{d.month}月{d.day}日"
for d in [date(1989,1,7), date(1989,1,8), date(2019,4,1),
date(2019,4,30), date(2019,5,1), date(2019,7,1)]:
print(d, wareki(d))実行すると、次の出力になります。
1989-01-07 昭和64年1月7日
1989-01-08 平成元年1月8日
2019-04-01 平成31年4月1日
2019-04-30 平成31年4月30日
2019-05-01 令和元年5月1日
2019-07-01 令和元年7月1日出力の6行は、改元日の前後を1日ずつ挟んだ組が2つ(1月7日と8日、4月30日と5月1日)と、公布日の4月1日、3か月後の7月1日です。Claudeの答えをこの出力と突き合わせると、年の式だけでは見えない1日のずれを拾えます。
まとめ
和暦の変換は、年の式を押さえていれば難しくありません。差が出るのは、改元日をまたぐ計算です。
契約書の締結日や履歴書の生年月日のように和暦の記入を求められる書類では、日付が1989年1月8日と2019年5月1日の前後にかかるときだけ、上のスクリプトで検算する使い方が現実的です。日付そのものの検証手順はClaudeで論文の統計値を生データと照合して検証すると共通しており、誤りの責任の所在はClaudeの間違いの責任は誰にあるかで扱っています。