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 dePyDateTime_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 dePyDateTime_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 dePyDateTime_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 dePyDateTime_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 dePyDateTime_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 fordatetime.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: