カテゴリ: Python 更新日: 2026/01/09

Pythonで日本の元号(令和・平成)を扱う方法を完全ガイド!初心者でもわかる日時操作

Pythonで日本の元号(令和・平成)を扱う方法(jaconv / datetime)
Pythonで日本の元号(令和・平成)を扱う方法(jaconv / datetime)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで令和や平成みたいな元号を扱う方法ってありますか?西暦しか扱えないと思ってました。」

先生

「Pythonでも日本の元号を扱うことができますよ。datetimeと外部ライブラリを組み合わせれば、令和◯年を西暦に変換したり、その逆を行うこともできます。」

生徒

「外部ライブラリってインストールしないとだめですか?」

先生

「そうですね。でも難しい操作ではないので、一緒に仕組みを見ていくと理解しやすいですよ。」

1. Pythonで元号を扱うには?基礎知識を整理しよう

1. Pythonで元号を扱うには?基礎知識を整理しよう
1. Pythonで元号を扱うには?基礎知識を整理しよう

日本では西暦とは別に元号を使います。令和や平成のような表記は日本独自のもので、コンピュータの世界では西暦を使うことが多いため、その変換が必要になる場面があります。たとえば行政関連の書類を処理するプログラムを作るときや、ユーザーが入力した「令和五年」の情報を正しく扱う必要があるときなどです。Pythonでは標準ライブラリのdatetimeで日付を扱いながら、別のライブラリを使うことで元号の変換ができます。

2. 元号を理解するための基本(令和・平成の開始年)

2. 元号を理解するための基本(令和・平成の開始年)
2. 元号を理解するための基本(令和・平成の開始年)

元号を扱うには、各元号がいつ始まったかを知っておく必要があります。令和は二〇一九年、平成は一九八九年に始まりました。たとえば令和一年は二〇一九年であり、令和二年は二〇二〇年になります。このように元号の開始年に入力された年数を足すことで西暦に変換できます。逆に西暦から元号に変換する場合は、基準の開始年との差を取ることで算出できます。こうした計算はプログラムで自動化できるので、決して難しいものではありません。

3. datetimeで日付オブジェクトを扱う基本

3. datetimeで日付オブジェクトを扱う基本
3. datetimeで日付オブジェクトを扱う基本

datetimeはPythonに標準で備わっている日付と時間を扱うためのモジュールです。具体的には日付を作る、今日の日付を取り出す、年や月や日を取得するなど、日時に関する基本的な操作がこのモジュールだけでできます。元号を扱うときにも、西暦の形式で一度datetimeオブジェクトを作っておくことで、後から整形して表示したり計算したりできます。

4. 元号を扱うための外部ツール:jaconvとは?

4. 元号を扱うための外部ツール:jaconvとは?
4. 元号を扱うための外部ツール:jaconvとは?

jaconvは日本語文字列の変換を行うための便利なライブラリで、ひらがなやカタカナの変換だけでなく、数字を全角や半角に変えるなど日本語特有の処理を簡単にしてくれます。元号自体の計算は手動で作ることもできますが、元号名を変換したり文字形式を統一したりするときに役立つため、セットで覚えておくと作業が楽になります。Pythonではpipを使って簡単にインストールできます。

5. 令和の年を西暦に変換するプログラム例

5. 令和の年を西暦に変換するプログラム例
5. 令和の年を西暦に変換するプログラム例

ここでは令和の年を西暦に変換する簡単なプログラムを紹介します。たとえば令和五年なら二〇二三年になります。令和は二〇一九年に始まったため、入力された年数に二〇一八を足すことで変換できます。


reiwa = 5
seireki = 2018 + reiwa
print(seireki)

2023

6. 西暦を令和に変換するプログラム例

6. 西暦を令和に変換するプログラム例
6. 西暦を令和に変換するプログラム例

今度は西暦を元号に変換する方法です。西暦が二〇一九年以上であれば令和に変換することができます。入力された値から二〇一八を引いて令和何年かを求めます。


year = 2021
reiwa = year - 2018
print("令和", reiwa, "年")

令和 3 年

7. datetimeと組み合わせて自在に扱う例

7. datetimeと組み合わせて自在に扱う例
7. datetimeと組み合わせて自在に扱う例

元号から西暦に変換したあと、datetimeで日付として扱うこともできます。たとえば令和四年五月一日を正しく処理したい場合、まず西暦に変換してから日時オブジェクトにします。こうすると日付の計算やフォーマット変更が簡単になります。


from datetime import date

reiwa_year = 4
year = reiwa_year + 2018

d = date(year, 5, 1)
print(d)

2022-05-01

8. 平成の元号にも応用できる変換方法

8. 平成の元号にも応用できる変換方法
8. 平成の元号にも応用できる変換方法

同じ考え方で平成にも応用できます。平成は一九八九年に始まったため、平成の年に一九八八を足すと西暦になります。逆に西暦から平成を求めたい場合は、一九八八を引き算します。こうした計算部分を関数としてまとめれば、令和や平成を自動で切り替える便利な仕組みも作れます。


heisei = 10
year = heisei + 1988
print(year)

1998
カテゴリの一覧へ
新着記事
New1
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New2
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
New3
Flask
FlaskでCSRF対策を実装する方法!安全なフォーム送信を学ぼう
New4
Python
Pythonの文字列型(str)を完全解説!連結・分割・検索の方法を紹介
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.7
Java&Spring記事人気No7
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本