Объекты 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, если объект имеет тип
PyDateTime_DateTypeили подтипPyDateTime_DateType. объект не должен бытьNULL.
-
int PyDate_CheckExact(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_DateType. объект не должен бытьNULL.
-
int PyDateTime_Check(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_DateTimeTypeили подтипPyDateTime_DateTimeType. объект не должен бытьNULL.
-
int PyDateTime_CheckExact(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_DateTimeType. объект не должен бытьNULL.
-
int PyTime_Check(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_TimeTypeили подтипPyDateTime_TimeType. объект не должен бытьNULL.
-
int PyTime_CheckExact(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_TimeType. объект не должен бытьNULL.
-
int PyDelta_Check(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_DeltaTypeили подтипPyDateTime_DeltaType. объект не должен бытьNULL.
-
int PyDelta_CheckExact(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_DeltaType. объект не должен бытьNULL.
-
int PyTZInfo_Check(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_TZInfoTypeили подтипPyDateTime_TZInfoType. объект не должен бытьNULL.
-
int PyTZInfo_CheckExact(PyObject *ob) -
Возвращает true, если объект имеет тип
PyDateTime_TZInfoType. объект не должен быть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с указанными годом, месяцем, днем, часом, минутой, секундой, микросекундой и fold.Введено в версии 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с указанными часом, минутой, секундой, микросекундой и fold.Введено в версии 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) -
Возвращает fold как целое число от 0 до 1.
Введено в версии 3.6.
Макросы для извлечения полей из объектов времени. Аргумент должен быть экземпляром 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) -
Возвращает fold как целое число от 0 до 1.
Введено в версии 3.6.
Макросы для извлечения полей из объектов time delta. Аргумент должен быть экземпляром 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.
Макросы для удобства модулей, реализующих DB API:
-
PyObject* PyDateTime_FromTimestamp(PyObject *args) -
Возвращаемое значение: Новый ссылка.
Создаёт и возвращает новый объект
datetime.datetime, используя кортеж аргументов, подходящий для передачи вdatetime.datetime.fromtimestamp().
-
PyObject* PyDate_FromTimestamp(PyObject *args) -
Возвращаемое значение: Новый ссылка.
Создаёт и возвращает новый объект
datetime.date, используя кортеж аргументов, подходящий для передачи вdatetime.date.fromtimestamp().
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/c-api/datetime.html