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を返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyDate_CheckExact(PyObject *ob)
- ob のタイプが
PyDateTime_DateType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyDateTime_Check(PyObject *ob)
- ob がタイプ
PyDateTime_DateTimeType
またはサブタイプPyDateTime_DateTimeType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyDateTime_CheckExact(PyObject *ob)
- ob のタイプが
PyDateTime_DateTimeType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyTime_Check(PyObject *ob)
- ob がタイプ
PyDateTime_TimeType
またはサブタイプPyDateTime_TimeType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyTime_CheckExact(PyObject *ob)
- ob のタイプが
PyDateTime_TimeType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyDelta_Check(PyObject *ob)
- ob がタイプ
PyDateTime_DeltaType
またはサブタイプPyDateTime_DeltaType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyDelta_CheckExact(PyObject *ob)
- ob のタイプが
PyDateTime_DeltaType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyTZInfo_Check(PyObject *ob)
- ob がタイプ
PyDateTime_TZInfoType
またはサブタイプPyDateTime_TZInfoType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
- int PyTZInfo_CheckExact(PyObject *ob)
- ob のタイプが
PyDateTime_TZInfoType
の場合、trueを返します。 ob はNULL
であってはなりません。 この関数は常に成功します。
オブジェクトを作成するためのマクロ:
- 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までの整数としてマイクロ秒を返します。
- PyObject *PyDateTime_DATE_GET_TZINFO(PyDateTime_DateTime *o)
tzinfoを返します(
None
の場合があります)。バージョン3.10の新機能。
時間オブジェクトからフィールドを抽出するマクロ。 引数は、サブクラスを含む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までの整数としてマイクロ秒を返します。
- PyObject *PyDateTime_TIME_GET_TZINFO(PyDateTime_Time *o)
tzinfoを返します(
None
の場合があります)。バージョン3.10の新機能。
タイムデルタオブジェクトからフィールドを抽出するマクロ。 引数は、サブクラスを含む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を実装するモジュールの便宜のためのマクロ:
- datetime.datetime.fromtimestamp()に渡すのに適した引数タプルを指定して、新しい datetime.datetime オブジェクトを作成して返します。
- datetime.date.fromtimestamp()に渡すのに適した引数タプルを指定して、新しい datetime.date オブジェクトを作成して返します。