datetime.md
1> **Источник:** https://python-all.ru/2.6/c-api/datetime.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты даты и времени89Модуль [`datetime`](https://python-all.ru/2.6/library/datetime.html#module-datetime) предоставляет различные объекты даты и времени. Перед использованием любой из этих функций заголовочный файл `datetime.h` должен быть включён в исходный код (обратите внимание: он не включается автоматически файлом `Python.h`), и макрос `PyDateTime_IMPORT` должен вызываться, обычно в составе функции инициализации модуля. Макрос помещает указатель на структуру C в статическую переменную `PyDateTimeAPI`, которая используется следующими макросами.1011Макросы проверки типа:1213**int `PyDate_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**1415Возвращает истину, если *ob* имеет тип `PyDateTime_DateType` или является подтипом `PyDateTime_DateType`. *ob* не должен быть *NULL*.1617Новое в версии 2.4.1819**int `PyDate_CheckExact`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**2021Возвращает истину, если *ob* имеет тип `PyDateTime_DateType`. *ob* не должен быть *NULL*.2223Новое в версии 2.4.2425**int `PyDateTime_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**2627Возвращает истину, если *ob* имеет тип `PyDateTime_DateTimeType` или является подтипом `PyDateTime_DateTimeType`. *ob* не должен быть *NULL*.2829Новое в версии 2.4.3031**int `PyDateTime_CheckExact`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**3233Возвращает истину, если *ob* имеет тип `PyDateTime_DateTimeType`. *ob* не должен быть *NULL*.3435Новое в версии 2.4.3637**int `PyTime_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**3839Возвращает истину, если *ob* имеет тип `PyDateTime_TimeType` или является подтипом `PyDateTime_TimeType`. *ob* не должен быть *NULL*.4041Новое в версии 2.4.4243**int `PyTime_CheckExact`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**4445Возвращает истину, если *ob* имеет тип `PyDateTime_TimeType`. *ob* не должен быть *NULL*.4647Новое в версии 2.4.4849**int `PyDelta_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**5051Возвращает истину, если *ob* имеет тип `PyDateTime_DeltaType` или является подтипом `PyDateTime_DeltaType`. *ob* не должен быть *NULL*.5253Новое в версии 2.4.5455**int `PyDelta_CheckExact`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**5657Возвращает истину, если *ob* имеет тип `PyDateTime_DeltaType`. *ob* не должен быть *NULL*.5859Новое в версии 2.4.6061**int `PyTZInfo_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**6263Возвращает истину, если *ob* имеет тип `PyDateTime_TZInfoType` или является подтипом `PyDateTime_TZInfoType`. *ob* не должен быть *NULL*.6465Новое в версии 2.4.6667**int `PyTZInfo_CheckExact`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*ob*)**6869Возвращает истину, если *ob* имеет тип `PyDateTime_TZInfoType`. *ob* не должен быть *NULL*.7071Новое в версии 2.4.7273Макросы для создания объектов:7475**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyDate_FromDate`(int *year*, int *month*, int *day*)**7677*Возвращаемое значение: новая ссылка.*7879Возвращает объект `datetime.date` с указанными годом, месяцем и днём.8081Новое в версии 2.4.8283**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyDateTime_FromDateAndTime`(int *year*, int *month*, int *day*, int *hour*, int *minute*, int *second*, int *usecond*)**8485*Возвращаемое значение: новая ссылка.*8687Возвращает объект `datetime.datetime` с указанными годом, месяцем, днём, часом, минутой, секундой и микросекундой.8889Новое в версии 2.4.9091**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyTime_FromTime`(int *hour*, int *minute*, int *second*, int *usecond*)**9293*Возвращаемое значение: новая ссылка.*9495Возвращает объект `datetime.time` с указанными часом, минутой, секундой и микросекундой.9697Новое в версии 2.4.9899**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyDelta_FromDSU`(int *days*, int *seconds*, int *useconds*)**100101*Возвращаемое значение: новая ссылка.*102103Возвращает объект `datetime.timedelta`, представляющий заданное количество дней, секунд и микросекунд. Выполняется нормализация, чтобы результирующее количество микросекунд и секунд находилось в диапазонах, описанных для объектов `datetime.timedelta`.104105Новое в версии 2.4.106107Макросы для извлечения полей из объектов даты. Аргумент должен быть экземпляром `PyDateTime_Date`, включая подклассы (например, `PyDateTime_DateTime`). Аргумент не должен быть *NULL*, и тип не проверяется:108109**int `PyDateTime_GET_YEAR`(PyDateTime\_Date *\*o*)**110111Возвращает год в виде положительного int.112113Новое в версии 2.4.114115**int `PyDateTime_GET_MONTH`(PyDateTime\_Date *\*o*)**116117Возвращает месяц в виде int от 1 до 12.118119Новое в версии 2.4.120121**int `PyDateTime_GET_DAY`(PyDateTime\_Date *\*o*)**122123Возвращает день в виде int от 1 до 31.124125Новое в версии 2.4.126127Макросы для извлечения полей из объектов datetime. Аргумент должен быть экземпляром `PyDateTime_DateTime`, включая подклассы. Аргумент не должен быть *NULL*, тип не проверяется:128129**int `PyDateTime_DATE_GET_HOUR`(PyDateTime\_DateTime *\*o*)**130131Возвращает часы в виде целого числа от 0 до 23.132133Новое в версии 2.4.134135**int `PyDateTime_DATE_GET_MINUTE`(PyDateTime\_DateTime *\*o*)**136137Возвращает минуты в виде целого числа от 0 до 59.138139Новое в версии 2.4.140141**int `PyDateTime_DATE_GET_SECOND`(PyDateTime\_DateTime *\*o*)**142143Возвращает секунды в виде целого числа от 0 до 59.144145Новое в версии 2.4.146147**int `PyDateTime_DATE_GET_MICROSECOND`(PyDateTime\_DateTime *\*o*)**148149Возвращает микросекунды в виде целого числа от 0 до 999999.150151Новое в версии 2.4.152153Макросы для извлечения полей из объектов time. Аргумент должен быть экземпляром `PyDateTime_Time`, включая подклассы. Аргумент не должен быть *NULL*, тип не проверяется:154155**int `PyDateTime_TIME_GET_HOUR`(PyDateTime\_Time *\*o*)**156157Возвращает часы в виде целого числа от 0 до 23.158159Новое в версии 2.4.160161**int `PyDateTime_TIME_GET_MINUTE`(PyDateTime\_Time *\*o*)**162163Возвращает минуты в виде целого числа от 0 до 59.164165Новое в версии 2.4.166167**int `PyDateTime_TIME_GET_SECOND`(PyDateTime\_Time *\*o*)**168169Возвращает секунды в виде целого числа от 0 до 59.170171Новое в версии 2.4.172173**int `PyDateTime_TIME_GET_MICROSECOND`(PyDateTime\_Time *\*o*)**174175Возвращает микросекунды в виде целого числа от 0 до 999999.176177Новое в версии 2.4.178179Макросы для удобства модулей, реализующих DB API:180181**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyDateTime_FromTimestamp`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*args*)**182183*Возвращаемое значение: новая ссылка.*184185Создаёт и возвращает новый объект `datetime.datetime`, принимая кортеж аргументов, подходящий для передачи в `datetime.datetime.fromtimestamp()`.186187Новое в версии 2.4.188189**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyDate_FromTimestamp`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*args*)**190191*Возвращаемое значение: новая ссылка.*192193Создаёт и возвращает новый объект `datetime.date`, принимая кортеж аргументов, подходящий для передачи в `datetime.date.fromtimestamp()`.194195Новое в версии 2.4.196