[16] 元号コードとは、
計算機システムの処理や情報交換などに用いる日時形式において、
元号に符号を割り振って識別するものです。
元号の名前自体がある種の符号とも言えますが、
元号コードはそれを更に扱いやすい値に置き換えたものです。
[38] いくつかの流儀があります。
[20] 多くの方式は、日常の業務で必要な範囲の元号のみ定義しています。 最も多いものは明治以後のみ対応しているもので、 昭和以後のみ対応のものもあります。
[8008]
この JSON データファイルでは、古今東西の (日本以外も含む)
元号に固有の正の整数の数値識別子 id
(紀年法識別子)
が割り当てられています。
明治以後は 1 から順に割り当てられ (#1)、 19 まで予約されています。
20 には西暦が、 21 以降には色々な元号と紀年法が割り当てられています。
[8001] 明治を 1 とし、以後日本の元号を順に割り振っていくものが数値符号として主流 (事実上の標準) のようです。 平成は 4 となります。
[34] 令和より後も、改元があるたびに自然な順序で追加されていくことが期待されます。
[112] COBOL で書かれたプログラムなどでは、 「3600214」 でを表すように、 日時形式の一部としてよく使われています。
[109] .NET Framework でも採用されています >>108 (#1)。
[25] その他を 9 で表す場合もあります >>13, >>14 (#18)。
[8017] 西暦を 0 で表す場合もあります >>28 (#17)。
[8025] 西暦を 9 で表す場合もあります >>142, >>143, >>149 (#25)。
[163] 不明を 0、西暦を 9 で表す場合もあります >>164 (#26)。
[91]
Java の
JapaneseImperialCalendar
は「明治以前」
を 0
で表しています (#19)。
>>138
JapaneseImperialCalendar
[8016]
戸籍情報システム標準仕様書は、
明治以降を 1
から順に割り当てると共に、
元治を Y
、
慶応を Z
としています。
慶応以前はアルファベットを逆順、
明治以降は数字を昇順と説明があります。 >>53
(#16)
[61]
理論上 X
以前も A
まで遡れますが、
どこまで利用されているかは不明です。
仕様書には Y
からしか示されていませんが、
採番方法が明記されており、
よく使われるものを例示したに限らないとも思われます。
平成後期の報道によると、
文化年間生まれの人が死亡とされないまま現行戸籍に残されていました
>>85。
平成30年時点で戸籍電算化はほぼすべての地方自治体で完了しており、
X
以前の日付の記述が必要となった可能性はあります。
なお、複数の家系調査業者の Web サイトによると、
(電算化はともかく) 戸籍で遡れるのは文化頃までのようです。
[35] 元号コードが十進数1桁となっている実装では、 10 以降 (9 に特別な意味を持たせる場合、 9 以降) の改元があっても対応できません。 十六進数1桁となっている実装では、 16 以降の改元に対応できません。 それらがいったい何年後に訪れるかはまったく予測できませんが、それまでに改修が必要となります。
[39] その頃には明治も遥か昔の元号となっているでしょうから、 1 から再利用することも可能かもしれませんが、混乱は避けられなそうです。 古い時代の記録が残っているとデータが滅茶苦茶になりますし、 日時の整列操作を元号コードの数値としての大小で行っていると破綻します。
[160] e-Tax仕様書一覧 | 【e-Tax】国税電子申告・納税システム(イータックス), 国税庁, https://www.e-tax.nta.go.jp/shiyo/shiyo3.htm#Link1
[161]
>>160 元号コードは 1 から 5 とされています (配布CABファイル内の
02_レコードの内容及び留意事項.pdf
)。
XML ファイル内では元号コード, 元号年, 月, 日が別の要素の内容として記述されます。
[137] 改元“平成”初日…1989年1月8日の街の様子 印鑑店は“平成スタンプ”製作 役所では元号訂正に追われる タイムマシーン“ユウガク”【長崎】 | TBS NEWS DIG (1ページ), 2024年1月8日(月) 11:00, https://newsdig.tbs.co.jp/articles/-/927005?display=1
[122] >>137 長崎市役所の行政事務用端末の画面と思われる写真があります。
「
[8005] 昭和を 1 とし、以後順に整数を割り当てていくものです (#5)。
[60] 1桁の数字とするもの >>11 や 0埋めした2桁の数字とするもの >>26, >>27 が知られています。
[8020]
[101]
java.time.chrono
は昭和を 1
としていますが、
大正は 0、
明治は -1
としています
(#20)。
>>93
変更点 変更前 変更後 年月日の入力方法 西暦の年を示す4桁の数字,月を示す2桁の数字及び日を示す2桁の数字をこの順に並べて入力する(例:20080901)。 元号を使用し,元号を示す元号コード,年を示す2桁の数字,月を示す2桁の数字及び日を示す2桁の数字をそれぞれの項目ごとに入力する。
表7-3.元号コード一覧
コード名称 桁数 コード 内 容 元号コード 2 01 昭和 元号コード 2 02 平成
[8006] 昭和を 1 とし、 大正を 2、 明治を 3 と遡っていくものです。昭和時代に設計されたものなのでしょう。 設計者は次の改元のことを何も考えていなかったのでしょうか。 平成には 4 が割り当てられており、 以後の改元でも順に大きな整数を割り当てていくものと思われます。
[8004] 明治以後の元号に 1 から順に奇数を割り当てる数値コードが使われることがあります。
[48] 1桁の十進整数として扱う場合、平成31年新元号の 9 で使い切ってしまいます。該当するシステムは2桁化改修 >>44 が予定されていたりするようです。
[156] 000686372.pdf, , https://www.soumu.go.jp/main_content/000686372.pdf#page=86
1桁目には生年月日の元号コードを設定す
る 【明=1、大=3、昭=5、平=7】 2~7桁目には元号を除く生年月日(和暦) を設定する
[8015] 森本角蔵の日本年号大観の通し番号です。 日本の元号のうち南朝を採り、 北朝は別系列の番号を振っています。
[121] 白鳳を含み元暦を含まない点が #14 と違います。 日本年号史大事典などに #14 と #15 の差分が示されています。
[8014] 所功らの日本年号史大事典の通し番号です。 日本の元号 (北朝、南朝どちらも含む公年号すべて) に整数を割り振っています。
[104]
現代日本では日本の元号全体の数え方として、
事実上の標準となっています。
[152] [8024] 元号「令和」 ―改元と皇位継承―は大化から平成までに連番を割り振っていました >>153 (#24)。
[155] ドキュメント新元号平成 (毎日新聞政治部, 平成元年) pp.251-257, 歴代天皇・年号事典 (米田雄介編, 平成15年), 元号全247総覧 (山本博文編著, 平成29年) を参考に筆者が作成と書かれており >>153、 番号が4者のいずれによって振られたものかは不明です。
[8010]
#10
CLDR元号コードは
CLDR が対応している日本の元号
[107] CLDR と密接に関係する ICU の Japanese Calendar の実装が使っている番号でもあります >>106。 ここでいう Japanese Calendar は元号年です。
[102] 0起源です。白鳳を含み、北朝の元号のいくつかを含まない (なぜかいくつかは含む) ため、 #14 や #15 と一致しません。
[8002]
明治を M
などと元号名をローマ字化して頭文字を取って記号とするものです。
平成は H
、令和は R
となります。この方式は機械処理のみならず、人間による略記でもしばしば用いられます。
[51] 明確に符号として定義される場合は大文字を使うことが多いです。 人間が日時形式の一部分として用いる場合には小文字とされることもあります。
[36] 先頭1文字で自動的に決まるので、揺れは見られません。将来的に衝突が生じた場合や、 「ち」 (chi / ti)、「じ」「ぢ」 (ji / zi / di)、「づ」 (du / zu) などから始まる元号の場合に、 揺れが生じる可能性はあります。
[71] 令和改元では R
と L
の揺れの可能性がありましたが、
に政府に取材した媒体がヘボン式を使うとの見解を得て記事化し、
R
に確定しました。
その後内閣官房の Webサイトで英語版の発表文が掲載され、
経済産業省もヘボン式であることを明示する文書を発表しました。
JIS X 0301:2019 も R
を採用しました。
[37] おそらく数代前の元号との衝突は避けるように制定時に配慮されるでしょうが
(
[22] この方式は人間が関わる場合の入出力などには適していますが、 将来的な衝突の可能性や整列の便宜などを考えると数値符号の方が便利そうです。
[52] JIS X 0301 の元号による日時表記でも、本方式が採用されています。
[33] 日本政府の消費者庁は本方式による賞味期限表示例を示しています。
[57] 日時を扱うプログラミング言語のライブラリーは、 本方式による出力機能を有していることがあります。
[80] CLDR は、 明治以後を大文字1文字、 それ以前は本来表記そのままのものを元号の短い表記として採用しています >>79。
[129]
私年号の霊波や立教は、 R
と省略されることがあり、
令和と衝突しています。
日時表示での利用は見られますが、
元号コード的な利用は確認されていません。
[140] >>136 明治は英字1字の略号、それ以前はフルの元号名で表した例。
[159] 001380373.pdf, , https://www.mlit.go.jp/common/001380373.pdf#page=7
[8007] 「平成」を「平」とするような、 先頭1文字による略記が用いられることがあります。
[54] 文書番号に組み込まれた年部分で使われることもあります。
[55] JIS X 0301 の元号による日時表現でも使われています。
[58] 日時を扱うプログラミング言語のライブラリーは、 本方式による出力機能を有していることがあります。
[86] 戸籍システムの仕様書では (システムで扱うものでなく説明文中でですが) 元治を「元」、 慶応を「慶」としています。 >>53
[124] 日本の国立国会図書館の書誌情報の日付欄の表記はいろいろなものが混在していますが、 「明44,大4」 のように略記したものもみられます。
[82] 元号からの類推で西暦 (AD) の略号を「A」 とするシステムもあるようです。 しかし人間にとってこの略記は一般的ではなく、 「A2019」のように記載しても理解してもらえる可能性は低いとみられます。
[113] 元号コード以外の純粋な省略の用法は元号略号を参照。
[8003]
[8011]
[8012]
[8013]
[8021]
[8022]
[8023]
かつて日本で使われていたシフトJISや現在世界的に使われている
Unicode
のような文字コード規格では、元号名を1文字扱いとした元号合字が、
明治とそれ以降の近現代の日本の元号について符号化されています。
[87] 厳密にいえば元号を識別する元号コードではなく、 元号名を1つの文字としたとき、それを識別する文字コードですが、 広い意味で元号を表す符号ではあります。
[137]
越南の元号についての論文
ベトナムの漢字年号について⸺李王朝を中心に⸺
は、
越南の元号について、王朝ごとに連番を振っています。
ただしこの論文のの日本語版との越南語版で番号が変わっています。
[30] 「H21第13号」のように、元号年の略号と年内の連番を組み合わせることがよくあります。
[74] 新しいシステムでは、もっとも広く採用されている #1 方式を踏襲するべきです。 平成以後のみ、 令和以後のみのごとく直近の元号しか必要としない場合であっても、 無意味なバリエーションによる混乱を抑えるため #1 に共通化していくのが好ましいです。
[75] 将来の改元による桁溢れを防ぐため、 最低でも4ビット (0 - 15)、 できれば8ビット (0 - 255) の保存領域を確保するべきです。 元号コードの数値を文字列や二進化十進数として扱う場合は、 最低でも2桁 (00 - 99) を確保するべきです。
[135]
情報交換用の日時形式では、固定長を避け、
-
や ,
のような適切な区切子を配置し、
桁数が増えても問題が起きないようにするべきです。
[120] 日本の元号全体を扱う必要がある場合は、 日本の元号研究の基礎となる文献といえる 日本年号史大事典の #14 に従うべきです。 8ビットにぎりぎり収まりますが、将来性が心もとなく、 最低でも16ビットは確保するべきです。
[76] 現代日本の元号と西暦に限定されない様々な元号や紀年法に対応する場合は、 #1 を更に拡張した #8 を使うべきです。 この場合は更に大きな保存領域が必要となります。
[77] 人間向けでは、英字の #2 を使うこともできます。 将来英字の枯渇で衝突するおそれがあるので、 利用者インターフェイスの入出力でのみ使うべきで、 内部形式や情報交換用形式には数値を使うべきです。
[132] 日時の情報交換を目的とする場合、 元号コードと年数の組み合わせは使うべきではありません。 「平成32年1月2日」のような延長年号の取り扱いに疑義が生じたり、 新元号への移行期間の相互運用性に支障が生じる危険性があったりするためです。
[133] 日時の情報交換では Unix time のような整数時刻系や、 HTMLの日時形式のような改元の影響を受けない日時形式を採用するべきです。 元号年とそうした情報交換形式との変換は、入出力時に行うべきです。
[123] 原則的に数値の元号コードを人間の利用者に入力させることは避けるべきです。
select
のように元号を選択させる方法を採用するべきです。
[125] 補助的な入力手段として元号コードでも入力できるのは問題なく、
場合によっては望ましいともいえます。熟練の作業者は select
で選択するより元号コードの方が効率的に入力できます。
[147] 検索など、元号コードを活用すると効率的に利用できる場面もあります。 ユースケースに合わせて柔軟に設計することが望まれます。
[148] 原則的に数値の元号コードを人間の利用者に単体で提示することは避けるべきです。 元号名に変換して表示するべきです。
[151] 元号名と元号コードの併記は適宜活用されるべきです。 例えば前近代の元号が出現する場面では、元号コードが大いに活用されると想定できます。
[158] 年を入出力させる場面では、 用途に応じて元号コード、元号年、西暦年、干支年、年齢などを柔軟に組み合わせて便利に使えるようにするべきです。 保存や通信に使うデータ構造と人間の入出力の構造が同じである必要はありません。 例えば西暦年で入力させて元号コードと元号年に変換したり、 十二支年で元号コードと元号年の選択肢を絞り込んだりすると便利なことがあります。
[97] 元号の名前、読み、
本項に掲げた各種元号コードの値、
改元日その他の情報をまとめた JSON データファイルです。
[98] 各コードの比較 (古い時代も含む):
[114]
元号名の先頭文字の略号は、
手書きの時代から便宜上用いられていたと思われます。
[117] やがて提出用書類の様式の日付記入欄でも字数節約のため、 あるいは文書番号の類の構成要素としても用いられるようになったのでしょう。
[115] 英字略号は、それに加えてローマ字表記が日本人に普及して初めて一般化し得たものといえます。 昭和時代後半頃でしょうか。 さらに昭和時代末期頃には電算処理にも使われるようになりました。
[116] 数値符号は、 昭和時代末期頃、電算処理の都合上使われはじめたと推測されます。 マークシートや OCR 処理される用紙のような形で一般人が記入させられることもあったでしょう。
[111] 都道府県コードや性別コードのように情報処理の基本要素の多くは JIS などで標準化されているのですが、 (JIS X 0301 の英字符号を除くと) 元号コードはなぜかそうしたものの対象になってきませんでした。 そのためなのか #1 が事実上の標準になっているとはいえ、 それ以外のいろいろな方式も無視できない程度に使われていて、 統一されていません。
[119] 学術的な場面で元号に数値符号を割り振ることは意外と少ないようです。 学術論文や専門書で元号に言及する場合、 自明のものとして特に説明もなく用いるか、 日本の元号以外なら国 (王朝) を補足するか、 あとは西暦年を付記する程度です。 そもそも全時代の元号を扱う研究がそれほど多くないということもあります。
[110] 元号コードを使った日時の記述は、 官公庁を中心に情報システムで広く使われているとみられます。 ところが単独の符号体系を説明するものがあるのは当然として、 いろいろな符号体系を総合的に扱ったものは、 平成時代末期の本ウィキページにまとめられるまで、 なぜかありませんでした。 (もしかすると古い時代の情報技術者向け書籍・雑誌を探せばあったのかもしれませんが。)
[56] 日付の年号を略称で表示するには?[C#、VB]:.NET TIPS - @IT () http://www.atmarkit.co.jp/ait/articles/1506/10/news022.html
[139] Re[5]: VBで和暦コード(1~5)から元号を取得する方法, http://bbs.wankuma.com/index.cgi?mode=al2&namber=97149&KLOG=168
⑵ 元 号 で の パ タ ー ン 分 け
元 号 区 分 元 号 区 分の 意 味 留 意 点 0 - - 1 明 治 明 治 1 年 9 月 8 日 ~ 明 治 45 年 7 月 29 日 の 範 囲 内 2 大 正 大 正 1 年 7 月 30 日 ~ 大 正 15 年 12 月 24 日 の 範 囲 内 3 昭 和 昭 和 1 年 12 月 25 日 ~ 昭 和 64 年 1 月 7 日 の 範 囲 内 4 平 成 平 成 1 年 1 月 8 日 以 降
[83] エクセルの表で、元号を数字にして入力しているセル(平成20年5月5日だ... - Yahoo!知恵袋 () https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1094612405
[84] エクセルの日付形式で、元号(昭和ならS、平成ならH)を任意の数... - Yahoo!知恵袋 () https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1211367182
[89] CLDR: #11839 (Japanese square era name symbol collation) – CLDR () https://unicode.org/cldr/trac/ticket/11839
[90] Feature #15742: Add Date#jisx0301 support new Japanese era - Ruby trunk - Ruby Issue Tracking System () https://bugs.ruby-lang.org/issues/15742
[17] () http://www.mlit.go.jp/common/001223249.pdf
[127] 令和の新元号発表のとき、 令和18年が 「R18」 (18禁) になる、といわれましたね。
[141] 年号一覧表, http://www.kumamotokokufu-h.ed.jp/kumamoto/bungaku/nengoui.html
[157] 3.4.21 LXRPID37 (年号コード変換(英字→数字)) : SEWB+/標準サブルーチン ライブラリリファレンス, , http://itdoc.hitachi.co.jp/manuals/3020/30203B8610/B860255.HTM
[88] THE IDOLM@STER MillionRADIO - 2022/12/22(木) 21:00開始 - ニコニコ生放送 () https://live.nicovideo.jp/watch/lv339271444
[166] Xユーザーの岩沼西小学校さん: 「駐車場としている校庭は、だいぶ水がたまっていますが、今来た方に聞くと、入口はだいぶ深くなってきているが、スタックするような状況ではないとのことです。 避難所では家族世帯にパーティションを使っていただいていますので御遠慮なくどうぞ。22:30現在まだ、スペースに余裕があります。 https://t.co/XONo6hIWxW」 / X, , https://twitter.com/iwanishisho/status/1183010587099287552/photo/3