5.1.1 利用可能なデータ型

class date
理想化された naive な日付表現で、実質的には、これまでもこれからも 現在のグレゴリオ暦 (Gregorian calender) であると仮定しています。 属性: year、 month、および day。

class time
理想化された時刻表現で、あらゆる特定の日における影響から独立 しており、毎日厳密に 24*60*60 秒であると仮定します ("うるう秒: leap seconds" の概念はありません)。 属性: hour、 minute、second、 microsecond、 および tzinfo。

class datetime
日付と時刻を組み合わせたもの。 属性: year、 month、 day、 hour、 minute、 second、 microsecond、および tzinfo。

class timedelta
date、time、あるいは datetime クラスの 二つのインスタンス間の時間差をマイクロ秒精度で表す経過時間値です。

class tzinfo
タイムゾーン情報オブジェクトの抽象基底クラスです。 datetime および time クラスで用いられ、 カスタマイズ可能な時刻修正の概念 (たとえばタイムゾーンや 夏時間の計算)を提供します。

これらの型のオブジェクトは変更不可能 (immutable) です。

date 型のオブジェクトは常に naive です。

time や datetime 型のオブジェクト d は naive にも aware にもできます。d は d.tzinfo が None でなく、かつ d.tzinfo.utcoffset(d) が None を返さない場合に aware となります。d.tzinfo が None の場合や、d.tzinfo は None では ないが d.tzinfo.utcoffset(d) が None を 返す場合には、d は naive となります。

naive なオブジェクトと aware なオブジェクトの区別は timedelta オブジェクトにはあてはまりません。

サブクラスの関係は以下のようになります:

object
    timedelta
    tzinfo
    time
    date
        datetime

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。