Pythonの標準ライブラリdatetimeを使用して、日時の処理を行う

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'>

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です