DateTime オブジェクト¶
datetime
モジュールでは、様々な日付オブジェクトや時刻オブジェクトを提供しています。以下に示す関数を使う場合には、あらかじめヘッダファイル datetime.h
をソースに include し (Python.h
はこのファイルを include しません)、 PyDateTime_IMPORT
マクロを、通常はモジュール初期化関数から、起動しておく必要があります。このマクロは以下のマクロで使われる静的変数 PyDateTimeAPI
に C 構造体へのポインタを入れます。
型チェックマクロ:
-
int
PyDate_Check
(PyObject *ob)¶ ob が
PyDateTime_DateType
型かPyDateTime_DateType
型のサブタイプのオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyDate_CheckExact
(PyObject *ob)¶ ob が
PyDateTime_DateType
型のオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyDateTime_Check
(PyObject *ob)¶ ob が
PyDateTime_DateTimeType
型かPyDateTime_DateTimeType
型のサブタイプのオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyDateTime_CheckExact
(PyObject *ob)¶ ob が
PyDateTime_DateTimeType
型のオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyTime_Check
(PyObject *ob)¶ ob が
PyDateTime_TimeType
型かPyDateTime_TimeType
型のサブタイプのオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyTime_CheckExact
(PyObject *ob)¶ ob が
PyDateTime_TimeType
型のオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyDelta_Check
(PyObject *ob)¶ ob が
PyDateTime_DeltaType
型かPyDateTime_DeltaType
型のサブタイプのオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyDelta_CheckExact
(PyObject *ob)¶ ob が
PyDateTime_DeltaType
型のオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyTZInfo_Check
(PyObject *ob)¶ ob が
PyDateTime_TZInfoType
型かPyDateTime_TZInfoType
型のサブタイプのオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
-
int
PyTZInfo_CheckExact
(PyObject *ob)¶ ob が
PyDateTime_TZInfoType
型のオブジェクトの場合に真を返します; ob は NULL であってはなりません。バージョン 2.4 で追加.
以下はオブジェクトを作成するためのマクロです:
-
PyObject*
PyDate_FromDate
(int year, int month, int day)¶ - Return value: New reference.
指定された年、月、日の
datetime.date
オブジェクトを返します。バージョン 2.4 で追加.
-
PyObject*
PyDateTime_FromDateAndTime
(int year, int month, int day, int hour, int minute, int second, int usecond)¶ - Return value: New reference.
指定された年、月、日、時、分、秒、マイクロ秒の
datetime.datetime
オブジェクトを返します。バージョン 2.4 で追加.
-
PyObject*
PyTime_FromTime
(int hour, int minute, int second, int usecond)¶ - Return value: New reference.
指定された時、分、秒、マイクロ秒の
datetime.time
オブジェクトを返します。バージョン 2.4 で追加.
-
PyObject*
PyDelta_FromDSU
(int days, int seconds, int useconds)¶ - Return value: New reference.
指定された日、秒、マイクロ秒の
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 を実装する上での便宜用です: