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 de PyDateTime_DateType. ob no debe ser NULL.

int PyDate_CheckExact(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_DateType. ob no debe ser NULL.

int PyDateTime_Check(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_DateTimeType o un subtipo de PyDateTime_DateTimeType. ob no debe ser NULL.

int PyDateTime_CheckExact(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_DateTimeType. ob no debe ser NULL.

int PyTime_Check(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_TimeType o un subtipo de PyDateTime_TimeType. ob no debe ser NULL.

int PyTime_CheckExact(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_TimeType. ob no debe ser NULL.

int PyDelta_Check(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_DeltaType o un subtipo de PyDateTime_DeltaType. ob no debe ser NULL.

int PyDelta_CheckExact(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_DeltaType. ob no debe ser NULL.

int PyTZInfo_Check(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_TZInfoType o un subtipo de PyDateTime_TZInfoType. ob no debe ser NULL.

int PyTZInfo_CheckExact(PyObject *ob)

Retorna verdadero si ob es de tipo PyDateTime_TZInfoType. ob no debe ser NULL.

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 objetos datetime.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.

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.

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 a datetime.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 a datetime.date.fromtimestamp().