見出し画像

Pythonで西暦を和暦にしてみる

先日失敗したので再度チャレンジしてみました。思ったより成功しました。

コード

import datetime
now = datetime.date.today()
 #now = datetime.date(2000,2,29)

# 令和の開始日
reiwa_year = datetime.date(2019,5,1)
 #平成の開始日
heisei_year = datetime.date(1989,1,8)
 #昭和の開始日
showa_year = datetime.date(1926,12,25)

now_month = now.month
now_day = now.day


if now >= reiwa_year:
    #令和の和暦を計算。下二桁から18を引くことで令和になる
    reiwa = now.year % 100 - 18 #100で割ることで下二桁出す
    now = now.strftime('%Y年%m月%d日')
    if reiwa == 1:
        reiwa = "元"

    print("{}を和暦にすると令和{}年{}月{}日です".format(now,reiwa,now_month,now_day))

elif now >= heisei_year:
   #平成の和暦を計算。西暦下二桁から12を足す
   heisei = now.year % 100 + 12 #100で割ることで下二桁出す
   now = now.strftime('%Y年%m月%d日')
   if heisei == 1:
       heisei = "元"
   print("{}を和暦にすると平成{}年{}月{}日です".format(now,heisei,now_month,now_day))

elif now >= showa_year:
   #昭和の和暦を計算。西暦下二桁から25を引く
   showa = now.year % 100 - 25 #100で割ることで下二桁出す
   now = now.strftime('%Y年%m月%d日')
   if showa == 1:
       showa = "元"
   print("{}を和暦にすると昭和{}年{}月{}日です".format(now,showa,now_month,now_day))
else:
   print("令和、平成、昭和ではない和暦となります。")

文字列の結合はformatメソッドで行う

文字列と数値型の結合するには、数値型をstr型にすればよいのですが、コードが長くなるかもしれなかったのでformatメソッドにすることで1行にすることができました

計算方法などはPythonで西暦を和暦にできるかやってみたにて公開しております


この記事が参加している募集

いま私にできること

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
シェアしたくなったらシェアお願いします
2
サイトラボという屋号で個人事業主をしてます。logwという技術ブログ書いてます。管釣り.com(https://kantsuri.com/) を運営してます。渓流釣り行きましょう!海釣りは下手ですが誘われたら行きます!

こちらでもピックアップされています

python勉強中
python勉強中
  • 19本

Pythonの勉強中のため、Python関連の記事を載せていますPythonのバージョンは3.6.10となります記事のヘッダー画像が毎回違うのはその時の気持ちだったり適当だったりします

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。