あしあと

自分自身のログ(足跡)となります。ソフトウェアエンジニアです。ブログはテック系の内容が少し多めです。

和暦の一覧をYAMLで作成した

元号も変わることですし、これまでの和暦の一覧をYAMLで作成しました。
全ての和暦を記載しています(「大化」〜「令和」)。

github.com

ファイルの中身は、名前と開始日を単純に記載しているだけです。
以下の様なファイルとなります。

- 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

使用する場合は、JSONCSVなど、好きなフォーマットに変換してもらえればと。
YAMLにしたのは、コメントを書くことができるためです。
(個人的にはJSONより読みやすい)

作成方法

作成方法は愚直にWikipediaの情報をSpreadsheetに写して、YAMLファイルを作りました。
YAMLが正しいかどうかは、PythonPyYAMLを利用して確かめました。

注意点

上述した通り、Wikipediaを参考にしています。
私自身は歴史の専門家ではないため、記載に誤りがあるかもしれません。

また、旧暦と新暦ユリウス暦からグレゴリオ暦を意識せず、Wikipedia記載通りに作成しています。
これらの状態は、YAMLから分からない状態となっています。
将来的に修正する予定です(多分)。

作ってみた感想

作ってみると、色々と知らないことが分かりました。

学校の勉強では「◯◯時代」と時代ベース?で勉強していたので、改めてみると興味深かったです。
良い機会なので、一覧を見てはどうでしょう?

今後の予定

今回作成したYAMLを使って、和暦と西暦を変換するツールを作る予定です。

作った動機

共通フォーマットがgithubで見つからなかったためです。

新しいプログラミング言語の勉強がてら、変換ツールを作ってみようかと思っていました。
調べてみると、変換ツールはヒットするものの、設定は言語ごとに最適化されていたり、明治以降だったりと、丁度欲しい情報がありませんでした。

いい機会だし、他に欲しい人はいるかもしれないので、作ってみました。

参考資料

和暦 元号一覧