Spec-Zone.ru › Python 3.10

Объекты DateTime

Модуль datetime предоставляет различные объекты даты и времени. Перед использованием каких-либо из этих функций, заголовочный файл datetime.h должен быть включён в ваш исходный код (обратите внимание, что он не включается автоматически Python.h), и макрос PyDateTime_IMPORT должен быть вызван, обычно как часть функции инициализации модуля. Макрос помещает указатель на структуру C в статическую переменную PyDateTimeAPI, которая используется последующими макросами.

Макрос для доступа к синглетону UTC:

PyObject *PyDateTime_TimeZone_UTC

Возвращает синглетон часового пояса, представляющий UTC, тот же объект, что и datetime.timezone.utc.

Новое в версии 3.7.

Макросы проверки типов:

int PyDate_Check(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DateType или его подтипом PyDateTime_DateType. ob не должен быть NULL. Данная функция всегда успешна.

int PyDate_CheckExact(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DateType. ob не должен быть NULL. Данная функция всегда успешна.

int PyDateTime_Check(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DateTimeType или его подтипом PyDateTime_DateTimeType. ob не должен быть NULL. Данная функция всегда успешна.

int PyDateTime_CheckExact(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DateTimeType. ob не должен быть NULL. Данная функция всегда успешна.

int PyTime_Check(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_TimeType или его подтипом PyDateTime_TimeType. ob не должен быть NULL. Данная функция всегда успешна.

int PyTime_CheckExact(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_TimeType. ob не должен быть NULL. Данная функция всегда успешна.

int PyDelta_Check(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DeltaType или его подтипом PyDateTime_DeltaType. ob не должен быть NULL. Данная функция всегда успешна.

int PyDelta_CheckExact(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_DeltaType. ob не должен быть NULL. Данная функция всегда успешна.

int PyTZInfo_Check(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_TZInfoType или его подтипом PyDateTime_TZInfoType. ob не должен быть NULL. Данная функция всегда успешна.

int PyTZInfo_CheckExact(PyObject *ob)

Возвращает true, если ob является объектом типа PyDateTime_TZInfoType. ob не должен быть NULL. Данная функция всегда успешна.

Макросы для создания объектов:

PyObject *PyDate_FromDate(int year, int month, int day)
Значение возврата: Новая ссылка.

Возвращает объект datetime.date с указанными годом, месяцем и днём.

PyObject *PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)
Значение возврата: Новая ссылка.

Возвращает объект datetime.datetime с указанными годом, месяцем, днём, часом, минутой, секундой и микросекундой.

PyObject *PyDateTime_FromDateAndTimeAndFold(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)
Значение возврата: Новая ссылка.

Возвращает объект datetime.datetime с указанными годом, месяцем, днём, часом, минутой, секундой, микросекундой и флагом перехода.

Новое в версии 3.6.

PyObject *PyTime_FromTime(int hour, int minute, int second, int usecond)
Значение возврата: Новая ссылка.

Возвращает объект datetime.time с указанными часом, минутой, секундой и микросекундой.

PyObject *PyTime_FromTimeAndFold(int hour, int minute, int second, int usecond, int fold)
Значение возврата: Новая ссылка.

Возвращает объект datetime.time с указанными часом, минутой, секундой, микросекундой и флагом перехода.

Новое в версии 3.6.

PyObject *PyDelta_FromDSU(int days, int seconds, int useconds)
Значение возврата: Новая ссылка.

Возвращает объект datetime.timedelta, представляющий заданное количество дней, секунд и микросекунд. Выполняется нормализация, чтобы полученное число микросекунд и секунд находилось в диапазонах, задокументированных для объектов datetime.timedelta.

PyObject *PyTimeZone_FromOffset(PyDateTime_DeltaType *offset)
Значение возврата: Новая ссылка.

Возвращает объект datetime.timezone с незаименованным фиксированным смещением, представленным аргументом offset.

Новое в версии 3.7.

PyObject *PyTimeZone_FromOffsetAndName(PyDateTime_DeltaType *offset, PyUnicode *name)
Значение возврата: Новая ссылка.

Возвращает объект datetime.timezone с фиксированным смещением, представленным аргументом offset, и с именем часового пояса name.

Новое в версии 3.7.

Макросы для извлечения полей из объектов дат. Аргумент должен быть экземпляром PyDateTime_Date, включая подклассы (такие как PyDateTime_DateTime). Аргумент не должен быть NULL, и тип не проверяется:

int PyDateTime_GET_YEAR(PyDateTime_Date *o)

Возвращает год, как положительное целое число.

int PyDateTime_GET_MONTH(PyDateTime_Date *o)

Возвращает месяц, как целое число от 1 до 12.

int PyDateTime_GET_DAY(PyDateTime_Date *o)

Возвращает день, как целое число от 1 до 31.

Макросы для извлечения полей из объектов datetime. Аргумент должен быть экземпляром PyDateTime_DateTime, включая подклассы. Аргумент не должен быть NULL, и тип не проверяется:

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)

Возвращает час, как целое число от 0 до 23.

int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)

Возвращает минуту, как целое число от 0 до 59.

int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)

Возвращает секунду, как целое число от 0 до 59.

int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)

Возвращает микросекунду, как целое число от 0 до 999999.

int PyDateTime_DATE_GET_FOLD(PyDateTime_DateTime *o)

Возвращает флаг перехода, как целое число от 0 до 1.

Новое в версии 3.6.

PyObject *PyDateTime_DATE_GET_TZINFO(PyDateTime_DateTime *o)

Возвращает tzinfo (который может быть None).

Новое в версии 3.10.

Макросы для извлечения полей из объектов времени. Аргумент должен быть экземпляром PyDateTime_Time, включая подклассы. Аргумент не должен быть NULL, и тип не проверяется:

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)

Возвращает час, как целое число от 0 до 23.

int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)

Возвращает минуту, как целое число от 0 до 59.

int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)

Возвращает секунду, как целое число от 0 до 59.

int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)

Возвращает микросекунду, как целое число от 0 до 999999.

int PyDateTime_TIME_GET_FOLD(PyDateTime_Time *o)

Возвращает флаг перехода, как целое число от 0 до 1.

Новое в версии 3.6.

PyObject *PyDateTime_TIME_GET_TZINFO(PyDateTime_Time *o)

Возвращает tzinfo (который может быть None).

Новое в версии 3.10.

Макросы для извлечения полей из объектов временных интервалов. Аргумент должен быть экземпляром PyDateTime_Delta, включая подклассы. Аргумент не должен быть NULL, и тип не проверяется:

int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)

Возвращает количество дней, как целое число от -999999999 до 999999999.

Новое в версии 3.3.

int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)

Возвращает количество секунд, целое число от 0 до 86399.

Новая в версии 3.3.

int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)

Возвращает количество микросекунд, целое число от 0 до 999999.

Новая в версии 3.3.

Макросы для удобства модулей, реализующих API базы данных:

PyObject *PyDateTime_FromTimestamp(PyObject *args)
Значение возврата: Новая ссылка.

Создаёт и возвращает новый объект datetime.datetime, заданный кортежем аргументов, подходящим для передачи в datetime.datetime.fromtimestamp().

PyObject *PyDate_FromTimestamp(PyObject *args)
Значение возврата: Новая ссылка.

Создаёт и возвращает новый объект datetime.date, заданный кортежем аргументов, подходящим для передачи в datetime.date.fromtimestamp().

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/c-api/datetime.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API