Pythonで日付や時間を扱う際は datetime
を使います。特定の時間を指定したい場合は引数に指定したい日時を設定します。
import datetime
# Fixed datetime
dt1 = datetime.datetime(2019,11,19)
print(dt1) # 2019-11-19 00:00:00
現在時間を取得したい場合は now()
メソッドを使うと現在の日時を取得できます。
# Now
dt1 = datetime.datetime.now()
print(dt1) # 2019-11-19 22:41:03.004331
日時の取得ができるようになったら、次は取得した日時に対して計算を行います。Pythonで日付や時間を計算する際は timedelta
を使います。datetime
に対して timedelta
で指定した値を加算、減算すると計算結果が得られます。
# Add day
dt2 = dt1 + datetime.timedelta(days=1)
print(dt2) # 2019-11-20 00:00:00
days=1
の代わりに hours=1
を設定すると1時間後の時間を取得できます。加算 ( +) の代わりに減算 ( – )を行えば1日前の日付も取得できます。
# Subtract day
dt2 = dt1 - datetime.timedelta(days=1)
print(dt2) # 2019-11-18 00:00:00
1日と12時間10分後という少し複雑な計算も引数を複数指定することで可能です。
# Add 1day 12hour 10minute
dt2 = dt1 + datetime.timedelta(days=1, hours=12, minutes=10)
print(dt2) # 2019-11-20 12:10:00
他に指定できる時間単位は以下Pythonのドキュメントの通り。
class datetime.timedelta (days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
以上がPythonで時間を加算・減算する基本的な方法です。これらの知識を活用して、日付や時間の計算を行うプログラムを作成してみてください。