和暦の一覧をYAMLで作成した
元号も変わることですし、これまでの和暦の一覧をYAMLで作成しました。
全ての和暦を記載しています(「大化」〜「令和」)。
ファイルの中身は、名前と開始日を単純に記載しているだけです。
以下の様なファイルとなります。
- id: 1 name: 大化 name_hiragana: たいか name_alphabet: taika start: 0645-07-17 - id: 2 name: 白雉 name_hiragana: はくち name_alphabet: hakuchi start: 0650-03-22 # ... こんな感じで続く - id: 249 name: 平成 name_hiragana: へいせい name_alphabet: heisei start: 1989-01-08 - id: 250 name: 令和 name_hiragana: れいわ name_alphabet: reiwa start: 2019-05-01
使用する場合は、JSONやCSVなど、好きなフォーマットに変換してもらえればと。
YAMLにしたのは、コメントを書くことができるためです。
(個人的にはJSONより読みやすい)
作成方法
作成方法は愚直にWikipediaの情報をSpreadsheetに写して、YAMLファイルを作りました。
YAMLが正しいかどうかは、PythonのPyYAMLを利用して確かめました。
注意点
上述した通り、Wikipediaを参考にしています。
私自身は歴史の専門家ではないため、記載に誤りがあるかもしれません。
また、旧暦と新暦、ユリウス暦からグレゴリオ暦を意識せず、Wikipedia記載通りに作成しています。
これらの状態は、YAMLから分からない状態となっています。
将来的に修正する予定です(多分)。
作ってみた感想
作ってみると、色々と知らないことが分かりました。
- 「元号」は紀年法の一種で、日本の元号は「和暦」と呼ぶ
- ユリウス暦とグレゴリオ暦が存在する(一般常識?)
- 元号が定義されていない時期がある (YAMLでは"ー"としています)
- 同じ天皇の在籍中でも元号を変更している
- 天皇が変わるタイミングで元号は変わらないことも多い
学校の勉強では「◯◯時代」と時代ベース?で勉強していたので、改めてみると興味深かったです。
良い機会なので、一覧を見てはどうでしょう?
今後の予定
今回作成したYAMLを使って、和暦と西暦を変換するツールを作る予定です。
作った動機
共通フォーマットがgithubで見つからなかったためです。
新しいプログラミング言語の勉強がてら、変換ツールを作ってみようかと思っていました。
調べてみると、変換ツールはヒットするものの、設定は言語ごとに最適化されていたり、明治以降だったりと、丁度欲しい情報がありませんでした。
いい機会だし、他に欲しい人はいるかもしれないので、作ってみました。