Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] 江戸以前の元号で西暦換算が1年ズレる #96

Open
shihono opened this issue May 6, 2024 · 0 comments
Open

[Bug] 江戸以前の元号で西暦換算が1年ズレる #96

shihono opened this issue May 6, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@shihono
Copy link

shihono commented May 6, 2024

🐛 Bug

説明

明治時代より前は太陰暦(旧暦)を使っており、和暦と西暦が一対一対応でないことがある。

元号が変わったタイミングによって、ずれが生じる。

wikipediaのTemplate:日本の元号 では天保は 1830 - 1844 となっているが、始まり終わりともに12月に改元したため、実際に西暦換算すると 1831年から1845年 の期間しか存在していない。

現状挙動

上記説明が原因でいくつかの元号において value の変更が1年ずれる。
天保 の場合、天保元年12月から天保2年の 11月 まで1831年だが天保2年を1832年と変換する。

from ja_timex import TimexParser

TimexParser().parse("天保元年")
[<TIMEX3 tid="t0" type="DATE" value="1831-XX-XX" text="天保元年">]

TimexParser().parse("天保2年")
[<TIMEX3 tid="t0" type="DATE" value="1832-XX-XX" text="天保2年">]

他の元号でも元年以降の結果にズレが生じている。

# 大塩平八郎の乱: https://ja.wikipedia.org/wiki/%E5%A4%A7%E5%A1%A9%E5%B9%B3%E5%85%AB%E9%83%8E%E3%81%AE%E4%B9%B1
TimexParser().parse("大塩平八郎の乱(おおしおへいはちろうのらん)は、江戸時代の天保8年(1837年)に、大坂(現・大阪市)で大坂町奉行所の元与力大塩平八郎(中斎)とその門人らが起こした江戸幕府に対する反乱である。")
[<TIMEX3 tid="t0" type="DATE" value="1838-XX-XX" text="天保8年">, 
<TIMEX3 tid="t1" type="DATE" value="1837-XX-XX" text="1837年">]

# 文禄・慶長の役: https://ja.wikipedia.org/wiki/%E6%96%87%E7%A6%84%E3%83%BB%E6%85%B6%E9%95%B7%E3%81%AE%E5%BD%B9
TimexParser().parse("翌文禄2年(1593年)に休戦した文禄の役")
[<TIMEX3 tid="t0" type="DATE" value="1594-XX-XX" text="文禄2年">, 
<TIMEX3 tid="t1" type="DATE" value="1593-XX-XX" text="1593年">]

# 源実朝: https://ja.wikipedia.org/wiki/%E6%BA%90%E5%AE%9F%E6%9C%9D
TimexParser().parse("建保7年1月27日(1219年2月13日)")
[<TIMEX3 tid="t0" type="DATE" value="1220-01-27" text="建保7年1月27日">, 
<TIMEX3 tid="t1" type="DATE" value="1219-02-13" text="1219年2月13日">]

理想の挙動

Template:日本の元号 の開始年が赤背景の元号について、元年以外の場合は /ja_timex/dictionary/wareki.json の値を +1 する

本来は日付まで記載されていないと西暦への変換が難しいが、12月以外はズレてしまう現状の挙動よりは確実と考える。

再現方法やエラー内容

実行環境

  • ja-timexのバージョン : 0.2.8
  • Pythonのバージョン : 3.9.18
  • OSの情報: macOS Sonoma

追加/補足情報

@shihono shihono added the bug Something isn't working label May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant