Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork34k
gh-141004: Document missingPyDateTime* APIs.#141543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
50116ee35347c7737ecf95d43c50aa9d630a9be066File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -8,11 +8,42 @@ DateTime Objects | ||||||
| Various date and time objects are supplied by the :mod:`datetime` module. | ||||||
| Before using any of these functions, the header file :file:`datetime.h` must be | ||||||
| included in your source (note that this is not included by :file:`Python.h`), | ||||||
| and the macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as part of | ||||||
| the module initialisation function. The macro puts a pointer to a C structure | ||||||
| into a static variable, :c:data:`PyDateTimeAPI`, that is used by the following | ||||||
| macros. | ||||||
| .. c:macro:: PyDateTime_IMPORT() | ||||||
| Import the datetime C API. | ||||||
| On success, populate the :c:var:`PyDateTimeAPI` pointer. | ||||||
| On failure, set :c:var:`PyDateTimeAPI` to ``NULL`` and set an exception. | ||||||
| The caller must check if an error occurred via :c:func:`PyErr_Occurred`: | ||||||
| .. code-block:: | ||||||
| PyDateTime_IMPORT; | ||||||
| if (PyErr_Occurred()) { /* cleanup */ } | ||||||
StanFromIreland marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. Suggested change
MemberAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. I like the current comment, we do similar for the curses C API:https://docs.python.org/3/c-api/curses.html | ||||||
| .. warning:: | ||||||
| This is not compatible with subinterpreters. | ||||||
| .. c:type:: PyDateTime_CAPI | ||||||
| Structure containing the fields for the datetime C API. | ||||||
| The fields of this structure are private and subject to change. | ||||||
| Do not use this directly; prefer ``PyDateTime_*`` APIs instead. | ||||||
| .. c:var:: PyDateTime_CAPI *PyDateTimeAPI | ||||||
| Dynamically allocated object containing the datetime C API. | ||||||
| This variable is only available once :c:macro:`PyDateTime_IMPORT` succeeds. | ||||||
| .. c:type:: PyDateTime_Date | ||||||
| This subtype of :c:type:`PyObject` represents a Python date object. | ||||||
| @@ -325,3 +356,16 @@ Macros for the convenience of modules implementing the DB API: | ||||||
| Create and return a new :class:`datetime.date` object given an argument | ||||||
| tuple suitable for passing to :meth:`datetime.date.fromtimestamp`. | ||||||
ZeroIntensity marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||||||
| Internal data | ||||||
| ------------- | ||||||
| The following symbols are exposed by the C API but should be considered | ||||||
| internal-only. | ||||||
| .. c:macro:: PyDateTime_CAPSULE_NAME | ||||||
| Name of the datetime capsule to pass to :c:func:`PyCapsule_Import`. | ||||||
| Internal usage only. Use :c:macro:`PyDateTime_IMPORT` instead. | ||||||
Uh oh!
There was an error while loading.Please reload this page.