7.5.12 DateTime オブジェクト

datetime モジュールでは、様々な日付オブジェクトや時刻オブジェクト を提供しています。以下に示す関数を使う場合には、あらかじめヘッダファイル datetime.h をソースに include し (Python.h はこのファイルを include しません)、PyDateTime_IMPORT() マクロを起動しておく 必要があります。このマクロは以下のマクロで使われる静的変数 PyDateTimeAPI に C 構造体へのポインタを入れます。

以下は型チェックマクロです:

int PyDate_Check(PyObject *ob)
obPyDateTime_DateType 型かPyDateTime_DateType 型のサブタイプのオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDate_CheckExact(PyObject *ob)
obPyDateTime_DateType 型のオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_Check(PyObject *ob)
obPyDateTime_DateTimeType 型か PyDateTime_DateTimeType 型のサブタイプのオブジェクトの 場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_CheckExact(PyObject *ob)
obPyDateTime_DateTimeType 型のオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyTime_Check(PyObject *ob)
obPyDateTime_TimeType 型かPyDateTime_TimeType 型のサブタイプのオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyTime_CheckExact(PyObject *ob)
obPyDateTime_TimeType 型のオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDelta_Check(PyObject *ob)
obPyDateTime_DeltaType 型かPyDateTime_DeltaType 型のサブタイプのオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDelta_CheckExact(PyObject *ob)
obPyDateTime_DeltaType 型のオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyTZInfo_Check(PyObject *ob)
obPyDateTime_TZInfoType 型かPyDateTime_TZInfoType 型のサブタイプのオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

int PyTZInfo_CheckExact(PyObject *ob)
obPyDateTime_TZInfoType 型のオブジェクトの場合に真を返します; obNULL であってはなりません。 バージョン 2.4 で 新たに追加 された仕様です。

以下はオブジェクトを作成するためのマクロです:

PyObject* PyDate_FromDate(int year, int month, int day)
指定された年、月、日のdatetime.date オブジェクトを返します。 バージョン 2.4 で 新たに追加 された仕様です。

PyObject* PyDate_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)
指定された年、月、日、時、分、秒、マイクロ秒のdatetime.datetime オブジェクトを返します。 バージョン 2.4 で 新たに追加 された仕様です。

PyObject* PyTime_FromTime(int hour, int minute, int second, int usecond)
指定された時、分、秒、マイクロ秒のdatetime.time オブジェクトを返します。 バージョン 2.4 で 新たに追加 された仕様です。

PyObject* PyDelta_FromDSU(int days, int seconds, int useconds)
指定された日、秒、マイクロ秒のdatetime.timedelta オブジェクトを 返します。マイクロ秒と秒が datetime.timedelta オブジェクトで 定義されている範囲に入るように正規化を行います。 バージョン 2.4 で 新たに追加 された仕様です。

以下のマクロは date オブジェクトからフィールド値を取り出すための ものです。引数はPyDateTime_Date またはそのサブクラス (例えば PyDateTime_DateTime)の インスタンスでなければなりません。引数を NULL にしてはならず、 型チェックは行いません:

int PyDateTime_GET_YEAR(PyDateTime_Date *o)
年を正の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_GET_MONTH(PyDateTime_Date *o)
月を 1 から 12 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_GET_DAY(PyDateTime_Date *o)
日を 1 から 31 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

以下のマクロは datetime オブジェクトからフィールド値を取り出すための ものです。引数はPyDateTime_DateTime またはそのサブクラスの インスタンスでなければなりません。引数を NULL にしてはならず、 型チェックは行いません:

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)
時を 0 から 23 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)
分を 0 から 59 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)
秒を 0 から 59 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)
マイクロ秒を 0 から 999999 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

以下のマクロは time オブジェクトからフィールド値を取り出すための ものです。引数はPyDateTime_Time またはそのサブクラスの インスタンスでなければなりません。引数を NULL にしてはならず、 型チェックは行いません:

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)
時を 0 から 23 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)
分を 0 から 59 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)
秒を 0 から 59 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)
マイクロ秒を 0 から 999999 の間の整数で返します。 バージョン 2.4 で 新たに追加 された仕様です。

以下のマクロは DB API を実装する上での便宜用です:

PyObject* PyDateTime_FromTimestamp(PyObject *args)
dateitme.datetime.fromtimestamp() に渡すのに適した引数タプルから 新たな datetime.datetime オブジェクトを生成して返します。 バージョン 2.4 で 新たに追加 された仕様です。

PyObject* PyDate_FromTimestamp(PyObject *args)
dateitme.date.fromtimestamp() に渡すのに適した引数タプルから 新たな datetime.date オブジェクトを生成して返します。 バージョン 2.4 で 新たに追加 された仕様です。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。