今回はPythonでの日付や時間の使い方について解説します。
日付や時間の情報は、ファイル操作などで使用する機会が多いので、しっかり習得しておくようにしましょう。
Pythonのdatetimeで日付の取得
日付の取得には、Pythonの標準ライブラリであるdatetimeモジュールを使います。
モジュールとは便利な機能をひとまとめにしたもので、そのモジュールをまとめたものがライブラリと呼ばれています。
Pythonには、便利なモジュールがまとめられている「標準ライブラリ」というものがデフォルトで付属しています。
モジュールを使うためには、import文を使います。
また、日付型を文字列型に変換するためにはstrftimeメソッドを使います。
逆に文字列型を日付型に変換するためにはstrptimeメソッドを使います。
「f」なのか「p」なのかややこしいですが、strftimeの「f」は「format」、strptimeの「p」は「parse」として覚えておくと間違いがなくなると思います。
import datetime
# 今日の日付
today_date = datetime.date.today()
print(today_date)
# 現在の日時
today_datetime = datetime.datetime.today()
print(today_datetime)
# 今日の年月日
print(today_date.year)
print(today_date.month)
print(today_date.day)
print(today_datetime.year)
print(today_datetime.month)
print(today_datetime.day)
# 現在の時分秒
print(today_datetime.hour)
print(today_datetime.minute)
print(today_datetime.second)
print(today_datetime.microsecond)
# 現在の日時をISO形式で表示
print(today.isoformat())
# 日時を文字列に変換
print(today_datetime.strftime("%Y/%m/%d %H:%M:%S"))
Pythonのdatetimeで日付の計算
日付の計算にはtimedeltaメソッドを使うと便利です。
単なる数値の計算ではなく、うるう年などの日付を考慮して計算されるのでかなり手間が省けます。
import datetime
# 1日後の日時
today = datetime.datetime.today()
print(today + datetime.timedelta(days=1))
# 1964年東京オリンピックの一週間後
olympics = datetime.datetime(1964, 10, 10)
print(olympics + datetime.timedelta(days=7))
# 1964年東京オリンピックから今日までの日数
delta = today - olympics
print(delta.days)
Pythonのdatetimeでうるう年の計算
その年がうるう年であるかどうかを判定するには、calendarモジュールのisleapメソッドを使います。
戻り値は真偽値です。
import calendar
# うるう年判定
print(calendar.isleap(2019))
print(calendar.isleap(2020)
おわりに
今回の記事のまとめです。
- Pythonのdatetimeで日付の取得と計算
- Pythonのdatetimeでうるう年の計算