DateTimeオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/c-api/datetime
移動先:案内検索

DateTimeオブジェクト

datetime モジュールは、さまざまな日付と時刻のオブジェクトを提供します。 これらの関数を使用する前に、ヘッダーファイルdatetime.hをソースにインクルードする必要があり(これはPython.hには含まれないことに注意してください)、マクロPyDateTime_IMPORTを呼び出す必要があります。 、通常はモジュール初期化機能の一部として。 このマクロは、C構造体へのポインターを、次のマクロで使用される静的変数PyDateTimeAPIに配置します。

UTCシングルトンにアクセスするためのマクロ:

PyObject *PyDateTime_TimeZone_UTC

datetime.timezone.utc と同じオブジェクトであるUTCを表すタイムゾーンシングルトンを返します。

バージョン3.7の新機能。

タイプチェックマクロ:

int PyDate_Check(PyObject *ob)
ob がタイプPyDateTime_DateTypeまたはサブタイプPyDateTime_DateTypeの場合、trueを返します。 obNULLであってはなりません。
int PyDate_CheckExact(PyObject *ob)
ob のタイプがPyDateTime_DateTypeの場合、trueを返します。 obNULLであってはなりません。
int PyDateTime_Check(PyObject *ob)
ob がタイプPyDateTime_DateTimeTypeまたはサブタイプPyDateTime_DateTimeTypeの場合、trueを返します。 obNULLであってはなりません。
int PyDateTime_CheckExact(PyObject *ob)
ob のタイプがPyDateTime_DateTimeTypeの場合、trueを返します。 obNULLであってはなりません。
int PyTime_Check(PyObject *ob)
ob がタイプPyDateTime_TimeTypeまたはサブタイプPyDateTime_TimeTypeの場合、trueを返します。 obNULLであってはなりません。
int PyTime_CheckExact(PyObject *ob)
ob のタイプがPyDateTime_TimeTypeの場合、trueを返します。 obNULLであってはなりません。
int PyDelta_Check(PyObject *ob)
ob がタイプPyDateTime_DeltaTypeまたはサブタイプPyDateTime_DeltaTypeの場合、trueを返します。 obNULLであってはなりません。
int PyDelta_CheckExact(PyObject *ob)
ob のタイプがPyDateTime_DeltaTypeの場合、trueを返します。 obNULLであってはなりません。
int PyTZInfo_Check(PyObject *ob)
ob がタイプPyDateTime_TZInfoTypeまたはサブタイプPyDateTime_TZInfoTypeの場合、trueを返します。 obNULLであってはなりません。
int PyTZInfo_CheckExact(PyObject *ob)
ob のタイプがPyDateTime_TZInfoTypeの場合、trueを返します。 obNULLであってはなりません。

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

PyObject *PyDate_FromDate(int year, int month, int day)
指定された年、月、日を含む datetime.date オブジェクトを返します。
PyObject *PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)
指定された年、月、日、時、分、秒、およびマイクロ秒の datetime.datetime オブジェクトを返します。
PyObject *PyDateTime_FromDateAndTimeAndFold(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)

指定された年、月、日、時、分、秒、マイクロ秒、およびフォールドを持つ datetime.datetime オブジェクトを返します。

バージョン3.6の新機能。

PyObject *PyTime_FromTime(int hour, int minute, int second, int usecond)
指定された時間、分、秒、およびマイクロ秒の datetime.time オブジェクトを返します。
PyObject *PyTime_FromTimeAndFold(int hour, int minute, int second, int usecond, int fold)

datetime.time オブジェクトを、指定された時間、分、秒、マイクロ秒、およびフォールドで返します。

バージョン3.6の新機能。

PyObject *PyDelta_FromDSU(int days, int seconds, int useconds)
指定された日数、秒数、およびマイクロ秒数を表す datetime.timedelta オブジェクトを返します。 正規化は、結果のマイクロ秒と秒数が datetime.timedelta オブジェクトについて文書化されている範囲内に収まるように実行されます。
PyObject *PyTimeZone_FromOffset(PyDateTime_DeltaType *offset)

offset 引数で表される名前のない固定オフセットを持つ datetime.timezone オブジェクトを返します。

バージョン3.7の新機能。

PyObject *PyTimeZone_FromOffsetAndName(PyDateTime_DeltaType *offset, PyUnicode *name)

offset 引数で表される固定オフセットと、tzname name を持つ datetime.timezone オブジェクトを返します。

バージョン3.7の新機能。

日付オブジェクトからフィールドを抽出するマクロ。 引数は、サブクラス(PyDateTime_DateTimeなど)を含むPyDateTime_Dateのインスタンスである必要があります。 引数はNULLであってはならず、タイプはチェックされません。

int PyDateTime_GET_YEAR(PyDateTime_Date *o)
正の整数として、年を返します。
int PyDateTime_GET_MONTH(PyDateTime_Date *o)
1から12までの整数として月を返します。
int PyDateTime_GET_DAY(PyDateTime_Date *o)
1から31までのintとして、その日を返します。

日時オブジェクトからフィールドを抽出するマクロ。 引数は、サブクラスを含むPyDateTime_DateTimeのインスタンスである必要があります。 引数はNULLであってはならず、タイプはチェックされません。

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)
0から23までの整数として時間を返します。
int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)
分を0から59までの整数として返します。
int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)
0から59までのintとして、2番目を返します。
int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)
0から999999までの整数としてマイクロ秒を返します。

時間オブジェクトからフィールドを抽出するマクロ。 引数は、サブクラスを含むPyDateTime_Timeのインスタンスである必要があります。 引数はNULLであってはならず、タイプはチェックされません。

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)
0から23までの整数として時間を返します。
int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)
分を0から59までの整数として返します。
int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)
0から59までのintとして、2番目を返します。
int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)
0から999999までの整数としてマイクロ秒を返します。

タイムデルタオブジェクトからフィールドを抽出するマクロ。 引数は、サブクラスを含むPyDateTime_Deltaのインスタンスである必要があります。 引数はNULLであってはならず、タイプはチェックされません。

int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)

日数を-999999999から999999999までの整数として返します。

バージョン3.3の新機能。

int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)

0から86399までの整数として秒数を返します。

バージョン3.3の新機能。

int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)

マイクロ秒数を0から999999までの整数として返します。

バージョン3.3の新機能。

DB APIを実装するモジュールの便宜のためのマクロ:

PyObject *PyDateTime_FromTimestamp(PyObject *args)
datetime.datetime.fromtimestamp()に渡すのに適した引数タプルを指定して、新しい datetime.datetime オブジェクトを作成して返します。
PyObject *PyDate_FromTimestamp(PyObject *args)
datetime.date.fromtimestamp()に渡すのに適した引数タプルを指定して、新しい datetime.date オブジェクトを作成して返します。