datetimeモジュールは日付と時刻に関する機能としてdatetime型(およびdate型とtime型)を提供する。 strftimeメソッドを用いて形式指定して文字列表現することができる。 逆にstrptimeメソッド用いて文字列をdatetimeオブジェクトに変換することができる。
from datetime import datetime dt = datetime(2024, 1, 4, 19, 30, 25) dt.year # 出力: 2024 dt.month # 出力: 1 dt.day # 出力: 4 dt.hour # 出力: 19 dt.minute # 出力: 30 dt.second # 出力: 25 dt.date() # 出力: datetime.date(2024, 1, 4) dt.time() # 出力: datetime.time(19, 30, 25) dt.replace(minute=0, second=0) # 出力: datetime.datetime(2024, 1, 4, 19, 0, 0)。統合解析時などの際の時刻合わせの例。 dt.strftime('%Y-%m-%d') # 出力: '2024-01-04' datetime.strptime('2024-01-04', '%Y-%m-%d') # 出力: datetime.datetime(2024, 1, 4, 0, 0)
2つのdatetimeオブジェクトの差をとるとdatetime.timedelta型オブジェクトが得られる。
dt1 = datetime(2024, 1, 4, 9, 0) dt2 = datetime(2025, 1, 1, 0, 0) dt = dt2 - dt1 # dt: datetime.timedelta(days=362, seconds=54000) dt + dt1 # 出力: datetime.datetime(2025, 1, 1, 0, 0)
%Y | 年(4桁表記)。 |
%y | 年(2桁表記)。 |
%m | 月(2桁表記)。 |
%d | 日(2桁表記)。 |
%H | 時(24時間表記)。 |
%I | 時(12時間表記)。 |
%M | 分(2桁表記)。 |
%S | 秒(2桁表記)。 |
%w | 曜日の数値表記 [0, 6] (日曜が0、土曜が6)。 |
%U | 週番号(1年の内の何週目)。日曜を週初とする。 |
%W | 週番号。月曜を週初とする。 |
%z | UTCからのタイムゾーンのオフセット。+HHMMまたは-HHMM形式で表現される。 |
%F | %Y-%m-%-dのショートカット。 |
%D | %m/$d/$yのショートカット。 |