DateTime Objekte

Verschiedene Datums- und Zeitobjekte werden vom datetime-Modul bereitgestellt. Bevor eine dieser Funktionen verwendet wird, muss die Header-Datei datetime.h in Ihre Quelle aufgenommen werden (beachten Sie, dass dies nicht von Python.h eingeschlossen wird) und das Makro PyDateTime_IMPORT muss aufgerufen werden, normalerweise als Teil der Modulinitialisierungsfunktion. Das Makro legt einen Zeiger auf eine C-Struktur in eine statische Variable, PyDateTimeAPI, die von den folgenden Makros verwendet wird.

type PyDateTime_Date

Dieser Subtyp von PyObject repräsentiert ein Python-Datumsobjekt.

type PyDateTime_DateTime

Dieser Subtyp von PyObject repräsentiert ein Python-Datum-Zeit-Objekt.

type PyDateTime_Time

Dieser Subtyp von PyObject repräsentiert ein Python-Zeitobjekt.

type PyDateTime_Delta

Dieser Subtyp von PyObject repräsentiert die Differenz zwischen zwei Datums-Zeit-Werten.

PyTypeObject PyDateTime_DateType

Diese Instanz von PyTypeObject repräsentiert den Python-Datumstyp; es ist dasselbe Objekt wie datetime.date auf der Python-Ebene.

PyTypeObject PyDateTime_DateTimeType

Diese Instanz von PyTypeObject repräsentiert den Python-Datum-Zeit-Typ; es ist dasselbe Objekt wie datetime.datetime auf der Python-Ebene.

PyTypeObject PyDateTime_TimeType

Diese Instanz von PyTypeObject repräsentiert den Python-Zeit-Typ; es ist dasselbe Objekt wie datetime.time auf der Python-Ebene.

PyTypeObject PyDateTime_DeltaType

Diese Instanz von PyTypeObject repräsentiert den Python-Typ für die Differenz zwischen zwei Datums-Zeit-Werten; es ist dasselbe Objekt wie datetime.timedelta auf der Python-Ebene.

PyTypeObject PyDateTime_TZInfoType

Diese Instanz von PyTypeObject repräsentiert den Python-Zeitzonen-Info-Typ; es ist dasselbe Objekt wie datetime.tzinfo auf der Python-Ebene.

Makro für den Zugriff auf die UTC-Singleton-Instanz

PyObject *PyDateTime_TimeZone_UTC

Gibt die Zeitzonen-Singleton-Instanz zurück, die UTC repräsentiert, dasselbe Objekt wie datetime.timezone.utc.

Hinzugefügt in Version 3.7.

Typ-Prüfungs-Makros

int PyDate_Check(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DateType oder einem Subtyp von PyDateTime_DateType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyDate_CheckExact(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DateType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyDateTime_Check(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DateTimeType oder einem Subtyp von PyDateTime_DateTimeType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyDateTime_CheckExact(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DateTimeType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyTime_Check(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_TimeType oder einem Subtyp von PyDateTime_TimeType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyTime_CheckExact(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_TimeType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyDelta_Check(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DeltaType oder einem Subtyp von PyDateTime_DeltaType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyDelta_CheckExact(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_DeltaType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyTZInfo_Check(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_TZInfoType oder einem Subtyp von PyDateTime_TZInfoType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

int PyTZInfo_CheckExact(PyObject *ob)

Gibt wahr zurück, wenn ob vom Typ PyDateTime_TZInfoType ist. ob darf nicht NULL sein. Diese Funktion ist immer erfolgreich.

Makros zum Erstellen von Objekten

PyObject *PyDate_FromDate(int year, int month, int day)
Rückgabewert: Neue Referenz.

Gibt ein datetime.date-Objekt mit dem angegebenen Jahr, Monat und Tag zurück.

PyObject *PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)
Rückgabewert: Neue Referenz.

Gibt ein datetime.datetime-Objekt mit dem angegebenen Jahr, Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunde zurück.

PyObject *PyDateTime_FromDateAndTimeAndFold(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)
Rückgabewert: Neue Referenz.

Gibt ein datetime.datetime-Objekt mit dem angegebenen Jahr, Monat, Tag, Stunde, Minute, Sekunde, Mikrosekunde und Faltung zurück.

Hinzugefügt in Version 3.6.

PyObject *PyTime_FromTime(int hour, int minute, int second, int usecond)
Rückgabewert: Neue Referenz.

Gibt ein datetime.time-Objekt mit der angegebenen Stunde, Minute, Sekunde und Mikrosekunde zurück.

PyObject *PyTime_FromTimeAndFold(int hour, int minute, int second, int usecond, int fold)
Rückgabewert: Neue Referenz.

Gibt ein datetime.time-Objekt mit der angegebenen Stunde, Minute, Sekunde, Mikrosekunde und Faltung zurück.

Hinzugefügt in Version 3.6.

PyObject *PyDelta_FromDSU(int days, int seconds, int useconds)
Rückgabewert: Neue Referenz.

Gibt ein datetime.timedelta-Objekt zurück, das die angegebene Anzahl von Tagen, Sekunden und Mikrosekunden darstellt. Eine Normalisierung wird durchgeführt, so dass die resultierenden Anzahl von Mikrosekunden und Sekunden innerhalb der für datetime.timedelta-Objekte dokumentierten Bereiche liegt.

PyObject *PyTimeZone_FromOffset(PyObject *offset)
Rückgabewert: Neue Referenz.

Gibt ein datetime.timezone-Objekt mit einem unbenannten festen Offset zurück, der durch das Argument offset repräsentiert wird.

Hinzugefügt in Version 3.7.

PyObject *PyTimeZone_FromOffsetAndName(PyObject *offset, PyObject *name)
Rückgabewert: Neue Referenz.

Gibt ein datetime.timezone-Objekt mit einem festen Offset, der durch das Argument offset repräsentiert wird, und dem Zeitzonennamen name zurück.

Hinzugefügt in Version 3.7.

Makros zum Extrahieren von Feldern aus Datumsobjekten. Das Argument muss eine Instanz von PyDateTime_Date sein, einschließlich Unterklassen (wie z. B. PyDateTime_DateTime). Das Argument darf nicht NULL sein, und der Typ wird nicht geprüft

int PyDateTime_GET_YEAR(PyDateTime_Date *o)

Gibt das Jahr als positive Ganzzahl zurück.

int PyDateTime_GET_MONTH(PyDateTime_Date *o)

Gibt den Monat als Ganzzahl von 1 bis 12 zurück.

int PyDateTime_GET_DAY(PyDateTime_Date *o)

Gibt den Tag als Ganzzahl von 1 bis 31 zurück.

Makros zum Extrahieren von Feldern aus Datum-Zeit-Objekten. Das Argument muss eine Instanz von PyDateTime_DateTime sein, einschließlich Unterklassen. Das Argument darf nicht NULL sein, und der Typ wird nicht geprüft

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)

Gibt die Stunde als Ganzzahl von 0 bis 23 zurück.

int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)

Gibt die Minute als Ganzzahl von 0 bis 59 zurück.

int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)

Gibt die Sekunde als Ganzzahl von 0 bis 59 zurück.

int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)

Gibt die Mikrosekunde als Ganzzahl von 0 bis 999999 zurück.

int PyDateTime_DATE_GET_FOLD(PyDateTime_DateTime *o)

Gibt den Faltungsindikator als Ganzzahl von 0 bis 1 zurück.

Hinzugefügt in Version 3.6.

PyObject *PyDateTime_DATE_GET_TZINFO(PyDateTime_DateTime *o)

Gibt die Zeitzoneninformationen zurück (welche None sein kann).

Hinzugefügt in Version 3.10.

Makros zum Extrahieren von Feldern aus Zeitobjekten. Das Argument muss eine Instanz von PyDateTime_Time sein, einschließlich Unterklassen. Das Argument darf nicht NULL sein, und der Typ wird nicht geprüft

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)

Gibt die Stunde als Ganzzahl von 0 bis 23 zurück.

int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)

Gibt die Minute als Ganzzahl von 0 bis 59 zurück.

int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)

Gibt die Sekunde als Ganzzahl von 0 bis 59 zurück.

int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)

Gibt die Mikrosekunde als Ganzzahl von 0 bis 999999 zurück.

int PyDateTime_TIME_GET_FOLD(PyDateTime_Time *o)

Gibt den Faltungsindikator als Ganzzahl von 0 bis 1 zurück.

Hinzugefügt in Version 3.6.

PyObject *PyDateTime_TIME_GET_TZINFO(PyDateTime_Time *o)

Gibt die Zeitzoneninformationen zurück (welche None sein kann).

Hinzugefügt in Version 3.10.

Makros zum Extrahieren von Feldern aus Zeitdifferenzobjekten. Das Argument muss eine Instanz von PyDateTime_Delta sein, einschließlich Unterklassen. Das Argument darf nicht NULL sein, und der Typ wird nicht geprüft

int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)

Gibt die Anzahl der Tage als Ganzzahl von -999999999 bis 999999999 zurück.

Hinzugefügt in Version 3.3.

int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)

Gibt die Anzahl der Sekunden als Ganzzahl von 0 bis 86399 zurück.

Hinzugefügt in Version 3.3.

int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)

Gibt die Anzahl der Mikrosekunden als Ganzzahl von 0 bis 999999 zurück.

Hinzugefügt in Version 3.3.

Makros zur Bequemlichkeit von Modulen, die die DB API implementieren

PyObject *PyDateTime_FromTimestamp(PyObject *args)
Rückgabewert: Neue Referenz.

Erstellt und gibt ein neues datetime.datetime-Objekt zurück, das aus einem Argument-Tupel besteht, das für die Übergabe an datetime.datetime.fromtimestamp() geeignet ist.

PyObject *PyDate_FromTimestamp(PyObject *args)
Rückgabewert: Neue Referenz.

Erstellt und gibt ein neues datetime.date-Objekt zurück, das aus einem Argument-Tupel besteht, das für die Übergabe an datetime.date.fromtimestamp() geeignet ist.