
ccc
こんにちわ!

Pythonにおけるdatetimeオブジェクトの使い方を教えてください。

ccc
Pythonはオフサイドルールに基づいたオブジェクト指向型のスクリプト言語です。オフサイドルールとは処理のまとまりをブロックごとに字下げをして文の範囲を指定するコーディングルールで、字下げのルールを強制することで可読性が高まり、コードの記述量を少なくできます。数値計算や画像処理、Web開発、ネットワーク、データベースといった専門的なライブラリが豊富で、機械学習やAIの分野で活用されています。

ccc
今回はPythonの使い方として、Pythonにおけるdatetimeオブジェクトの使い方をサンプルを用いて解説します。
日付と時刻の値を取得
now()は現在の日付と時刻の値を取得するメソッドです。事前にdatetimeモジュールをインポートします。datetimeクラスからnow()を使います。
次の例ではローカル環境で設定されている日付を表示します。
import datetime
temp=datetime.datetime.now()
print(temp)
#2020-12-13 11:11:11.012345
年月日の値をそれぞれ取得
年月日の値をそれぞれ参照できるプロパティが用意されています。
import datetime
temp=datetime.datetime.now()
print(temp.year, temp.month, temp.day)
#2020 12 13
時分秒の値をそれぞれ取得
時分秒の値をそれぞれ参照できるプロパティが用意されています。
import datetime
temp=datetime.datetime.now()
print(temp.hour, temp.minute, temp.second)
#11 11 11
日時の書式を指定して取得
strftimeメソッドを使って”YYYY/M/D 曜 00:00:00″の形式で日時を取得できます。
import datetime
temp=datetime.datetime.now()
print(temp.strftime("%Y/%m/%d %a %H:%M:%S"))
#2020/12/13 Sun 11:11:11
日時に対して演算
timedeltaメソッドを使って日付と時刻に対して演算することができます。
次の例では1日前と1日後の日付を取得します。
import datetime
temp=datetime.datetime.now()+datetime.timedelta(days=-1)
print(temp.strftime("%Y/%m/%d"))
#2020/12/14
import datetime
temp=datetime.datetime.now()+datetime.timedelta(days=1)
print(temp.strftime("%Y/%m/%d"))
2020/12/12
日時と日時の差を取得することもできます。
import datetime
temp1=datetime.datetime.now()
temp2=temp1+datetime.timedelta(days=-1)
print(temp1-temp2)
print((temp1-temp2).days)
print((temp1-temp2).seconds)
#1 day, 0:00:00
#1
#0