CmhaDSO 日付時刻

概要

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)
Datetime形式一覧 (ISO C89準拠)
%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のショートカット。