Pythonの標準ライブラリdatetimeを使用して、日時の処理を行います。
現在時刻の取得
import datetime dt_now = datetime.datetime.now() print(dt_now) #2019-01-11 16:17:40.754123 print(type(dt_now)) #<class 'datetime.datetime'> print(dt_now.year) #2019 print(dt_now.month) #1 print(dt_now.day) #11 print(dt_now.hour) #16 print(dt_now.minute) #17 print(dt_now.second) #40
任意のdatetimeオブジェクトを生成
dt = datetime.datetime(2019, 1, 1, 20, 00, 0) print(dt_now) #2019-01-11 16:23:39.727007 print(type(dt_now)) #<class 'datetime.datetime'> print(dt_now.year) #2019 print(dt_now.month) #1 print(dt_now.day) #11 print(dt_now.hour) #16 print(dt_now.minute) #23 print(dt_now.second) #39
日時の時間差を取得
deltatimeオブジェクト同士を引き算することで、timedeltaオブジェクトが得られます。
dt_now = datetime.datetime.now() print(dt_now) #2019-01-11 16:29:47.220604 dt = datetime.datetime(2019, 1, 1, 20, 00, 0) print(dt) #2019-01-01 20:00:00 delta = dt_now - dt print(delta) #9 days, 20:29:47.220604 print(type(delta)) #<class 'datetime.timedelta'> print(delta.days) #9 print(delta.seconds) #73787
datetimeオブジェクトを文字列に変換
dt_now = datetime.datetime.now() dt_str = dt_now.strftime('%Y/%m/%d %H:%M') print(dt_str) #2019/01/11 16:34 print(type(dt_str)) #<class 'str'>
文字列をdatetimeオブジェクトに変換
dt = datetime.datetime.strptime('20180101', '%Y%m%d') print(dt) #2018-01-01 00:00:00 print(type(dt)) #<class 'datetime.datetime'>