Objets DateTime¶
De nombreux objets date et time sont exposés par le module DateTime
. Avant d’utiliser une de ces fonctions, le fichier d’en-tête datetime.h
doit être inclus dans vos sources (veuillez noter qu’il n’est pas inclus par le fichier Python.h
) et la macro PyDateTime_IMPORT
doit-être invoquée, généralement lors de la fonction d’initialisation du module. La macro crée un pointeur vers une structure C et place celui-ci dans une variable statique, PyDateTimeAPI
, qui est utilisée par les macros suivantes.
Macros pour vérifier les types :
-
int
PyDate_Check
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DateType
ou un sous-type dePyDateTime_DateType
. ob ne doit pas être NULL.
-
int
PyDate_CheckExact
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DateType
. ob ne doit pas être NULL.
-
int
PyDateTime_Check
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DateTimeType
ou un sous-type dePyDateTime_DateTimeType
. ob ne doit pas être NULL.
-
int
PyDateTime_CheckExact
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DateTimeType
. ob ne doit pas être NULL.
-
int
PyTime_Check
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_TimeType
ou un sous-type dePyDateTime_TimeType
. ob ne doit pas être NULL.
-
int
PyTime_CheckExact
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_TimeType
. ob ne doit pas être NULL.
-
int
PyDelta_Check
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DeltaType
ou un sous-type dePyDateTime_DeltaType
. ob ne doit pas être NULL.
-
int
PyDelta_CheckExact
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_DeltaType
. ob ne doit pas être NULL.
-
int
PyTZInfo_Check
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_TZInfoType
ou un sous-type dePyDateTime_TZInfoType
. ob ne doit pas être NULL.
-
int
PyTZInfo_CheckExact
(PyObject *ob)¶ Renvoie vrai si ob est de type
PyDateTime_TZInfoType
. ob ne doit pas être NULL.
Macros pour créer des objets :
-
PyObject*
PyDate_FromDate
(int year, int month, int day)¶ - Return value: New reference.
Return a
datetime.date
object with the specified year, month and day.
-
PyObject*
PyDateTime_FromDateAndTime
(int year, int month, int day, int hour, int minute, int second, int usecond)¶ - Return value: New reference.
Return a
datetime.datetime
object with the specified year, month, day, hour, minute, second and microsecond.
-
PyObject*
PyTime_FromTime
(int hour, int minute, int second, int usecond)¶ - Return value: New reference.
Return a
datetime.time
object with the specified hour, minute, second and microsecond.
-
PyObject*
PyDelta_FromDSU
(int days, int seconds, int useconds)¶ - Return value: New reference.
Return a
datetime.timedelta
object representing the given number of days, seconds and microseconds. Normalization is performed so that the resulting number of microseconds and seconds lie in the ranges documented fordatetime.timedelta
objects.
Macros pour extraire les champs des objets date. L’argument doit être une instance de PyDateTime_Date
, ou une sous-classe (telle que PyDateTime_DateTime
). L’argument ne doit pas être NULL, et le type n’est pas vérifié :
-
int
PyDateTime_GET_YEAR
(PyDateTime_Date *o)¶ Renvoie l’année, sous forme d’entier positif.
-
int
PyDateTime_GET_MONTH
(PyDateTime_Date *o)¶ Renvoie le mois, sous forme d’entier allant de 1 à 12.
-
int
PyDateTime_GET_DAY
(PyDateTime_Date *o)¶ Renvoie le jour, sous forme d’entier allant de 1 à 31.
Macros pour extraire les champs des objets datetime. L’argument doit être une instance de PyDateTime_DateTime
ou une sous-classe de celle-ci. L’argument ne doit pas être NULL, et le type n’est pas vérifié :
-
int
PyDateTime_DATE_GET_HOUR
(PyDateTime_DateTime *o)¶ Renvoie l’heure, sous forme d’entier allant de 0 à 23.
-
int
PyDateTime_DATE_GET_MINUTE
(PyDateTime_DateTime *o)¶ Renvoie la minute, sous forme d’entier allant de 0 à 59.
-
int
PyDateTime_DATE_GET_SECOND
(PyDateTime_DateTime *o)¶ Renvoie la seconde, sous forme d’entier allant de 0 à 59.
-
int
PyDateTime_DATE_GET_MICROSECOND
(PyDateTime_DateTime *o)¶ Renvoie la microseconde, sous forme d’entier allant de 0 à 999999.
Macros pour extraire les champs des objets time. L’argument doit être une instance de PyDateTime_Time
ou une sous-classe de celle-ci. L’argument ne doit pas être NULL, et le type n’est pas vérifié :
-
int
PyDateTime_TIME_GET_HOUR
(PyDateTime_Time *o)¶ Renvoie l’heure, sous forme d’entier allant de 0 à 23.
-
int
PyDateTime_TIME_GET_MINUTE
(PyDateTime_Time *o)¶ Renvoie la minute, sous forme d’entier allant de 0 à 59.
-
int
PyDateTime_TIME_GET_SECOND
(PyDateTime_Time *o)¶ Renvoie la seconde, sous forme d’entier allant de 0 à 59.
-
int
PyDateTime_TIME_GET_MICROSECOND
(PyDateTime_Time *o)¶ Renvoie la microseconde, sous forme d’entier allant de 0 à 999999.
Macros pour extraire les champs des objets time delta. L’argument doit être une instance de PyDateTime_Delta
ou une sous-classe de celle-ci. L’argument ne doit pas être NULL, et le type n’est pas vérifié :
-
int
PyDateTime_DELTA_GET_DAYS
(PyDateTime_Delta *o)¶ Renvoie le nombre de jours, sous forme d’entier allant de -999999999 à 999999999.
Nouveau dans la version 3.3.
-
int
PyDateTime_DELTA_GET_SECONDS
(PyDateTime_Delta *o)¶ Renvoie le nombre de secondes sous forme d’entier allant de 0 à 86399.
Nouveau dans la version 3.3.
-
int
PyDateTime_DELTA_GET_MICROSECONDS
(PyDateTime_Delta *o)¶ Renvoie le nombre de microsecondes, sous forme d’entier allant de 0 à 999999.
Nouveau dans la version 3.3.
Macros de confort pour les modules implémentant l’API DB :