Objetos DateTime¶
El módulo datetime
proporciona varios objetos de fecha y hora. Antes de usar cualquiera de estas funciones, el archivo de encabezado datetime.h
debe estar incluido en su fuente (tenga en cuenta que esto no está incluido en el archivo Python.h
), y la macro PyDateTime_IMPORT
debe llamarse, generalmente como parte de la función de inicialización del módulo. La macro coloca un puntero a una estructura C en una variable estática, PyDateTimeAPI
, que utilizan las siguientes macros.
Macro para acceder al singleton UTC:
-
PyObject*
PyDateTime_TimeZone_UTC
¶ Retorna la zona horaria singleton que representa UTC, el mismo objeto que
datetime.timezone.utc
.Nuevo en la versión 3.7.
Macros de verificación de tipo:
-
int
PyDate_Check
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DateType
o un subtipo dePyDateTime_DateType
. ob no debe serNULL
.
-
int
PyDate_CheckExact
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DateType
. ob no debe serNULL
.
-
int
PyDateTime_Check
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DateTimeType
o un subtipo dePyDateTime_DateTimeType
. ob no debe serNULL
.
-
int
PyDateTime_CheckExact
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DateTimeType
. ob no debe serNULL
.
-
int
PyTime_Check
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_TimeType
o un subtipo dePyDateTime_TimeType
. ob no debe serNULL
.
-
int
PyTime_CheckExact
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_TimeType
. ob no debe serNULL
.
-
int
PyDelta_Check
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DeltaType
o un subtipo dePyDateTime_DeltaType
. ob no debe serNULL
.
-
int
PyDelta_CheckExact
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_DeltaType
. ob no debe serNULL
.
-
int
PyTZInfo_Check
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_TZInfoType
o un subtipo dePyDateTime_TZInfoType
. ob no debe serNULL
.
-
int
PyTZInfo_CheckExact
(PyObject *ob)¶ Retorna verdadero si ob es de tipo
PyDateTime_TZInfoType
. ob no debe serNULL
.
Macros para crear objetos:
-
PyObject*
PyDate_FromDate
(int year, int month, int day)¶ - Return value: New reference.
Retorna un objeto
datetime.date
con el año, mes y día especificados.
-
PyObject*
PyDateTime_FromDateAndTime
(int year, int month, int day, int hour, int minute, int second, int usecond)¶ - Return value: New reference.
Retorna un objeto
datetime.datetime
con el año, mes, día, hora, minuto, segundo y micro segundo especificados.
-
PyObject*
PyDateTime_FromDateAndTimeAndFold
(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)¶ - Return value: New reference.
Retorna un objeto
datetime.datetime
con el año, mes, día, hora, minuto, segundo, micro segundo y doblez especificados.Nuevo en la versión 3.6.
-
PyObject*
PyTime_FromTime
(int hour, int minute, int second, int usecond)¶ - Return value: New reference.
Retorna un objeto
datetime.time
con la hora, minuto, segundo y micro segundo especificados.
-
PyObject*
PyTime_FromTimeAndFold
(int hour, int minute, int second, int usecond, int fold)¶ - Return value: New reference.
Retorna un objeto
datetime.time
con la hora, minuto, segundo, micro segundo y doblez especificados.Nuevo en la versión 3.6.
-
PyObject*
PyDelta_FromDSU
(int days, int seconds, int useconds)¶ - Return value: New reference.
Retorna un objeto
datetime.timedelta
que representa el número dado de días, segundos y micro segundos. La normalización se realiza de modo que el número resultante de micro segundos y segundos se encuentre en los rangos documentados para los objetosdatetime.timedelta
.
-
PyObject*
PyTimeZone_FromOffset
(PyDateTime_DeltaType* offset)¶ - Return value: New reference.
Retorna un objeto
datetime.timezone
con un desplazamiento fijo sin nombre representado por el argumento offset.Nuevo en la versión 3.7.
-
PyObject*
PyTimeZone_FromOffsetAndName
(PyDateTime_DeltaType* offset, PyUnicode* name)¶ - Return value: New reference.
Retorna un objeto
datetime.timezone
con un desplazamiento fijo representado por el argumento offset y con tzname name.Nuevo en la versión 3.7.
Macros para extraer campos de objetos de fecha. El argumento debe ser una instancia de PyDateTime_Date
, incluidas las subclases (como PyDateTime_DateTime
). El argumento no debe ser NULL
y el tipo no está marcado:
-
int
PyDateTime_GET_YEAR
(PyDateTime_Date *o)¶ Regrese el año, como un int positivo.
-
int
PyDateTime_GET_MONTH
(PyDateTime_Date *o)¶ Regresa el mes, como int del 1 al 12.
-
int
PyDateTime_GET_DAY
(PyDateTime_Date *o)¶ Retorna el día, como int del 1 al 31.
Macros para extraer campos de objetos de fecha y hora. El argumento debe ser una instancia de PyDateTime_DateTime
, incluidas las subclases. El argumento no debe ser NULL
y el tipo no es comprobado:
-
int
PyDateTime_DATE_GET_HOUR
(PyDateTime_DateTime *o)¶ Retorna la hora, como un int de 0 hasta 23.
-
int
PyDateTime_DATE_GET_MINUTE
(PyDateTime_DateTime *o)¶ Retorna el minuto, como un int de 0 hasta 59.
-
int
PyDateTime_DATE_GET_SECOND
(PyDateTime_DateTime *o)¶ Retorna el segundo, como un int de 0 hasta 59.
-
int
PyDateTime_DATE_GET_MICROSECOND
(PyDateTime_DateTime *o)¶ Retorna el micro segundo, como un int de 0 hasta 999999.
-
int
PyDateTime_DATE_GET_FOLD
(PyDateTime_DateTime *o)¶ Return the fold, as an int from 0 through 1.
Nuevo en la versión 3.6.
Macros para extraer campos de objetos de tiempo. El argumento debe ser una instancia de PyDateTime_Time
, incluidas las subclases. El argumento no debe ser NULL
y el tipo no está marcado:
-
int
PyDateTime_TIME_GET_HOUR
(PyDateTime_Time *o)¶ Retorna la hora, como un int de 0 hasta 23.
-
int
PyDateTime_TIME_GET_MINUTE
(PyDateTime_Time *o)¶ Retorna el minuto, como un int de 0 hasta 59.
-
int
PyDateTime_TIME_GET_SECOND
(PyDateTime_Time *o)¶ Retorna el segundo, como un int de 0 hasta 59.
-
int
PyDateTime_TIME_GET_MICROSECOND
(PyDateTime_Time *o)¶ Retorna el micro segundo, como un int de 0 hasta 999999.
-
int
PyDateTime_TIME_GET_FOLD
(PyDateTime_Time *o)¶ Return the fold, as an int from 0 through 1.
Nuevo en la versión 3.6.
Macros para extraer campos de objetos delta de tiempo. El argumento debe ser una instancia de PyDateTime_Delta
, incluidas las subclases. El argumento no debe ser NULL
y el tipo no está marcado:
-
int
PyDateTime_DELTA_GET_DAYS
(PyDateTime_Delta *o)¶ Retorna el número de días, como un int desde -999999999 a 999999999.
Nuevo en la versión 3.3.
-
int
PyDateTime_DELTA_GET_SECONDS
(PyDateTime_Delta *o)¶ Retorna el número de segundos, como un int de 0 a 86399.
Nuevo en la versión 3.3.
-
int
PyDateTime_DELTA_GET_MICROSECONDS
(PyDateTime_Delta *o)¶ Retorna el número de micro segundos, como un int de 0 a 999999.
Nuevo en la versión 3.3.
Macros para la conveniencia de módulos que implementan la API DB:
-
PyObject*
PyDateTime_FromTimestamp
(PyObject *args)¶ - Return value: New reference.
Crea y retorna un nuevo objeto
datetime.datetime
dado una tupla de argumentos adecuada para pasar adatetime.datetime.fromtimestamp()
.
-
PyObject*
PyDate_FromTimestamp
(PyObject *args)¶ - Return value: New reference.
Crea y retorna un nuevo objeto
datetime.date
dado una tupla de argumentos adecuada para pasar adatetime.date.fromtimestamp()
.