Объекты даты и времени¶DateTime Objects
Модуль datetime предоставляет различные объекты даты и времени. Перед использованием любой из этих функций заголовочный файл datetime.h должен быть включён в исходный код (обратите внимание: он не включается автоматически файлом Python.h), и макрос PyDateTime_IMPORT должен вызываться, обычно в составе функции инициализации модуля. Макрос помещает указатель на структуру C в статическую переменную PyDateTimeAPI, которая используется следующими макросами.
Макросы проверки типа:
- int PyDate_Check(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DateType или является подтипом PyDateTime_DateType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyDate_CheckExact(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DateType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyDateTime_Check(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DateTimeType или является подтипом PyDateTime_DateTimeType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyDateTime_CheckExact(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DateTimeType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyTime_Check(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_TimeType или является подтипом PyDateTime_TimeType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyTime_CheckExact(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_TimeType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyDelta_Check(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DeltaType или является подтипом PyDateTime_DeltaType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyDelta_CheckExact(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_DeltaType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyTZInfo_Check(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_TZInfoType или является подтипом PyDateTime_TZInfoType. ob не должен быть NULL.
Новое в версии 2.4.
- int PyTZInfo_CheckExact(PyObject *ob)¶
Возвращает истину, если ob имеет тип PyDateTime_TZInfoType. ob не должен быть NULL.
Новое в версии 2.4.
Макросы для создания объектов:
- PyObject* PyDate_FromDate(int year, int month, int day)¶
- Возвращаемое значение: новая ссылка.
Возвращает объект datetime.date с указанными годом, месяцем и днём.
Новое в версии 2.4.
- PyObject* PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)¶
- Возвращаемое значение: новая ссылка.
Возвращает объект datetime.datetime с указанными годом, месяцем, днём, часом, минутой, секундой и микросекундой.
Новое в версии 2.4.
- PyObject* PyTime_FromTime(int hour, int minute, int second, int usecond)¶
- Возвращаемое значение: новая ссылка.
Возвращает объект datetime.time с указанными часом, минутой, секундой и микросекундой.
Новое в версии 2.4.
- PyObject* PyDelta_FromDSU(int days, int seconds, int useconds)¶
- Возвращаемое значение: новая ссылка.
Возвращает объект datetime.timedelta, представляющий заданное количество дней, секунд и микросекунд. Выполняется нормализация, чтобы результирующее количество микросекунд и секунд находилось в диапазонах, описанных для объектов datetime.timedelta.
Новое в версии 2.4.
Макросы для извлечения полей из объектов даты. Аргумент должен быть экземпляром PyDateTime_Date, включая подклассы (например, PyDateTime_DateTime). Аргумент не должен быть NULL, и тип не проверяется:
- int PyDateTime_GET_YEAR(PyDateTime_Date *o)¶
Возвращает год в виде положительного int.
Новое в версии 2.4.
- int PyDateTime_GET_MONTH(PyDateTime_Date *o)¶
Возвращает месяц в виде int от 1 до 12.
Новое в версии 2.4.
- int PyDateTime_GET_DAY(PyDateTime_Date *o)¶
Возвращает день в виде int от 1 до 31.
Новое в версии 2.4.
Макросы для извлечения полей из объектов datetime. Аргумент должен быть экземпляром PyDateTime_DateTime, включая подклассы. Аргумент не должен быть NULL, тип не проверяется:
- int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)¶
Возвращает часы в виде целого числа от 0 до 23.
Новое в версии 2.4.
- int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)¶
Возвращает минуты в виде целого числа от 0 до 59.
Новое в версии 2.4.
- int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)¶
Возвращает секунды в виде целого числа от 0 до 59.
Новое в версии 2.4.
- int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)¶
Возвращает микросекунды в виде целого числа от 0 до 999999.
Новое в версии 2.4.
Макросы для извлечения полей из объектов time. Аргумент должен быть экземпляром PyDateTime_Time, включая подклассы. Аргумент не должен быть NULL, тип не проверяется:
- int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)¶
Возвращает часы в виде целого числа от 0 до 23.
Новое в версии 2.4.
- int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)¶
Возвращает минуты в виде целого числа от 0 до 59.
Новое в версии 2.4.
- int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)¶
Возвращает секунды в виде целого числа от 0 до 59.
Новое в версии 2.4.
- int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)¶
Возвращает микросекунды в виде целого числа от 0 до 999999.
Новое в версии 2.4.
Макросы для удобства модулей, реализующих DB API: