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.
-
type PyDateTime_Delta¶
Este subtipo de
PyObject
representa la diferencia entre dos valores datetime.
-
PyTypeObject PyDateTime_DateType¶
Esta instancia de
PyTypeObject
representa el date type de Python; es el mismo objecto que quedatetime.date
en la capa de Python.
-
PyTypeObject PyDateTime_DateTimeType¶
Esta instancia de
PyTypeObject
representa el datetime type de Python; es el mismo objecto que quedatetime.datetime
en la capa de Python.
-
PyTypeObject PyDateTime_TimeType¶
Esta instancia de
PyObject
representa el time type de Python; es el mismo objecto que quedatetime.time
en la capa de Python.
-
PyTypeObject PyDateTime_DeltaType¶
Esta instancia de
PyTypeObject
representa un tipo en Python para la diferencia entre dos valore datetime; es el mismo objeto quedatetime.timedelta
en la capa de Python.
-
PyTypeObject PyDateTime_TZInfoType¶
Esta instancia de
PyTypeObject
representa el tipo de Python de time zone info; es el mismo objeto quedatetime.tzinfo
de la capa de Python.
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
.Added in version 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
. Esta función siempre finaliza con éxito.
-
int PyDate_CheckExact(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_DateType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyDateTime_Check(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_DateTimeType
o un subtipo dePyDateTime_DateTimeType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyDateTime_CheckExact(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_DateTimeType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyTime_Check(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_TimeType
o un subtipo dePyDateTime_TimeType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyTime_CheckExact(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_TimeType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyDelta_Check(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_DeltaType
o un subtipo dePyDateTime_DeltaType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyDelta_CheckExact(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_DeltaType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyTZInfo_Check(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_TZInfoType
o un subtipo dePyDateTime_TZInfoType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
-
int PyTZInfo_CheckExact(PyObject *ob)¶
Retorna verdadero si ob es de tipo
PyDateTime_TZInfoType
. ob no debe serNULL
. Esta función siempre finaliza con éxito.
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.Added in version 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.Added in version 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(PyObject *offset)¶
- Return value: New reference.
Retorna un objeto
datetime.timezone
con un desplazamiento fijo sin nombre representado por el argumento offset.Added in version 3.7.
-
PyObject *PyTimeZone_FromOffsetAndName(PyObject *offset, PyObject *name)¶
- Return value: New reference.
Retorna un objeto
datetime.timezone
con un desplazamiento fijo representado por el argumento offset y con tzname name.Added in version 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 se comprueba.
-
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)¶
Retorna el fold, como int de 0 a 1.
Added in version 3.6.
-
PyObject *PyDateTime_DATE_GET_TZINFO(PyDateTime_DateTime *o)¶
Retorna el tzinfo (que puede ser
None
).Added in version 3.10.
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 es comprobado:
-
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)¶
Retorna el fold, como int de 0 a 1.
Added in version 3.6.
-
PyObject *PyDateTime_TIME_GET_TZINFO(PyDateTime_Time *o)¶
Retorna el tzinfo (que puede ser
None
).Added in version 3.10.
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 es comprobado:
-
int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)¶
Retorna el número de días, como un int desde -999999999 a 999999999.
Added in version 3.3.
-
int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)¶
Retorna el número de segundos, como un int de 0 a 86399.
Added in version 3.3.
-
int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)¶
Retorna el número de micro segundos, como un int de 0 a 999999.
Added in version 3.3.
Macros para la conveniencia de módulos que implementan la API DB:
-
PyObject *PyDateTime_FromTimestamp(PyObject *args)¶
- Return value: New reference.
Create and return a new
datetime.datetime
object given an argument tuple suitable for passing todatetime.datetime.fromtimestamp()
.
-
PyObject *PyDate_FromTimestamp(PyObject *args)¶
- Return value: New reference.
Create and return a new
datetime.date
object given an argument tuple suitable for passing todatetime.date.fromtimestamp()
.