Objetos DateTime

Vários objetos de data e hora são fornecidos pelo módulo datetime. Antes de usar qualquer uma dessas funções, o arquivo de cabeçalho datetime.h deve ser incluído na sua fonte (observe que isso não é incluído por Python.h) e a macro PyDateTime_IMPORT deve ser chamada, geralmente como parte da função de inicialização do módulo. A macro coloca um ponteiro para uma estrutura C em uma variável estática, PyDateTimeAPI, usada pelas macros a seguir.

Macros de verificação de tipo:

int PyDate_Check(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DateType ou um subtipo de PyDateTime_DateType. ob não deve ser NULL.

int PyDate_CheckExact(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DateType. ob não deve ser NULL.

int PyDateTime_Check(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DateTimeType ou um subtipo de PyDateTime_DateTimeType. ob não deve ser NULL.

int PyDateTime_CheckExact(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DateTimeType. ob não deve ser NULL.

int PyTime_Check(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_TimeType ou um subtipo de PyDateTime_TimeType. ob não deve ser NULL.

int PyTime_CheckExact(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_TimeType. ob não deve ser NULL.

int PyDelta_Check(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DeltaType ou um subtipo de PyDateTime_DeltaType. ob não deve ser NULL.

int PyDelta_CheckExact(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_DeltaType. ob não deve ser NULL.

int PyTZInfo_Check(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_TZInfoType ou um subtipe de PyDateTime_TZInfoType. ob não deve ser NULL.

int PyTZInfo_CheckExact(PyObject *ob)

Retorna verdadeiro se ob é do tipo PyDateTime_TZInfoType. ob não deve ser NULL.

Macros para criar objetos:

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 for datetime.timedelta objects.

Macros para extrair campos de objetos date. O argumento deve ser uma instância de PyDateTime_Date, incluindo subclasses (tal qual PyDateTime_DateTime). O argumento não deve ser NULL, e o tipo não é checado:

int PyDateTime_GET_YEAR(PyDateTime_Date *o)

Retorna o ano, como um inteiro positivo.

int PyDateTime_GET_MONTH(PyDateTime_Date *o)

Retorna o mês, como um inteiro de 1 a 12.

int PyDateTime_GET_DAY(PyDateTime_Date *o)

Retorna o dia, como um inteiro de 1 a 31.

Macros para extrair campos de objetos datetime. O argumento deve ser uma instância de PyDateTime_DateTime, incluindo subclasses. O argumento não deve ser NULL, e o tipo não é checado:

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)

Retorna a hora, como um inteiro de 0 a 23.

int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)

Retorna o minuto, como um inteiro de 0 a 59.

int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)

Retorna o segundo, como um inteiro de 0 a 59.

int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)

Retorna o microssegundo, como um inteiro de 0 a 999999.

Macros para extrair campos de objetos time. O argumento deve ser uma instância de PyDateTime_Time, incluindo subclasses. O argumento não deve ser NULL, e o tipo não é checado:

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)

Retorna a hora, como um inteiro de 0 a 23.

int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)

Retorna o minuto, como um inteiro de 0 a 59.

int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)

Retorna o segundo, como um inteiro de 0 a 59.

int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)

Retorna o microssegundo, como um inteiro de 0 a 999999.

Macros para extrair campos de objetos time delta. O argumento deve ser uma instância de PyDateTime_Delta, incluindo subclasses. O argumento não deve ser NULL, e o tipo não é checado:

int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)

Retorna o número de dias, como um inteiro de -999999999 a 999999999.

Novo na versão 3.3.

int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)

Retorna o número de segundos, como um inteiro de 0 a 86399.

Novo na versão 3.3.

int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)

Retorna o número de microssegundos, como um inteiro de 0 a 999999.

Novo na versão 3.3.

Macros para a conveniência de módulos implementando a API de 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 to datetime.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 to datetime.date.fromtimestamp().