Документация Python неофициальный перевод

datetime.md

196 строк · 9.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/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.7/library/datetime.html#module-datetime) предоставляет различные объекты для работы с датой и временем. Перед использованием любой из этих функций в исходный код необходимо включить заголовочный файл `datetime.h` (обратите внимание: он не включается макросом `Python.h`), а также вызвать макрос `PyDateTime_IMPORT`, обычно – в функции инициализации модуля. Этот макрос помещает указатель на C-структуру в статическую переменную `PyDateTimeAPI`, которая используется последующими макросами.1011Макросы проверки типа:1213#### `int PyDate_Check(PyObject *ob)`1415Возвращает true, если *ob* имеет тип `PyDateTime_DateType` или является подтипом `PyDateTime_DateType`. *ob* не должен быть *NULL*.1617Новое в версии 2.4.1819#### `int PyDate_CheckExact(PyObject *ob)`2021Возвращает true, если *ob* имеет тип `PyDateTime_DateType`. *ob* не должен быть *NULL*.2223Новое в версии 2.4.2425#### `int PyDateTime_Check(PyObject *ob)`2627Возвращает true, если *ob* имеет тип `PyDateTime_DateTimeType` или является подтипом `PyDateTime_DateTimeType`. *ob* не должен быть *NULL*.2829Новое в версии 2.4.3031#### `int PyDateTime_CheckExact(PyObject *ob)`3233Возвращает true, если *ob* имеет тип `PyDateTime_DateTimeType`. *ob* не должен быть *NULL*.3435Новое в версии 2.4.3637#### `int PyTime_Check(PyObject *ob)`3839Возвращает true, если *ob* имеет тип `PyDateTime_TimeType` или является подтипом `PyDateTime_TimeType`. *ob* не должен быть *NULL*.4041Новое в версии 2.4.4243#### `int PyTime_CheckExact(PyObject *ob)`4445Возвращает true, если *ob* имеет тип `PyDateTime_TimeType`. *ob* не должен быть *NULL*.4647Новое в версии 2.4.4849#### `int PyDelta_Check(PyObject *ob)`5051Возвращает true, если *ob* имеет тип `PyDateTime_DeltaType` или является подтипом `PyDateTime_DeltaType`. *ob* не должен быть *NULL*.5253Новое в версии 2.4.5455#### `int PyDelta_CheckExact(PyObject *ob)`5657Возвращает true, если *ob* имеет тип `PyDateTime_DeltaType`. *ob* не должен быть *NULL*.5859Новое в версии 2.4.6061#### `int PyTZInfo_Check(PyObject *ob)`6263Возвращает true, если *ob* имеет тип `PyDateTime_TZInfoType` или является подтипом `PyDateTime_TZInfoType`. *ob* не должен быть *NULL*.6465Новое в версии 2.4.6667#### `int PyTZInfo_CheckExact(PyObject *ob)`6869Возвращает true, если *ob* имеет тип `PyDateTime_TZInfoType`. *ob* не должен быть *NULL*.7071Новое в версии 2.4.7273Макросы для создания объектов:7475#### `PyObject* PyDate_FromDate(int year, int month, int day)`7677*Возвращаемое значение: новая ссылка.*7879Возвращает объект `datetime.date` с указанными годом, месяцем и днём.8081Новое в версии 2.4.8283#### `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* PyTime_FromTime(int hour, int minute, int second, int usecond)`9293*Возвращаемое значение: новая ссылка.*9495Возвращает объект `datetime.time` с указанными часом, минутой, секундой и микросекундой.9697Новое в версии 2.4.9899#### `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* PyDateTime_FromTimestamp(PyObject *args)`182183*Возвращаемое значение: новая ссылка.*184185Создаёт и возвращает новый объект `datetime.datetime` на основе кортежа аргументов, подходящего для передачи в `datetime.datetime.fromtimestamp()`.186187Новое в версии 2.4.188189#### `PyObject* PyDate_FromTimestamp(PyObject *args)`190191*Возвращаемое значение: новая ссылка.*192193Создаёт и возвращает новый объект `datetime.date` на основе кортежа аргументов, подходящего для передачи в `datetime.date.fromtimestamp()`.194195Новое в версии 2.4.196