Various date and time objects are supplied by the datetime
module. Before using any of these functions, the header file datetime.h
must be included in your source (note that this is not included by Python.h
), and the 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, PyDateTimeAPI
, that is used by the following macros.
Macro for access to the UTC singleton:
PyDateTime_TimeZone_UTC
Returns the time zone singleton representing UTC, the same object as datetime.timezone.utc
.
New in version 3.7.
Type-check macros:
PyDate_Check
Return true if ob is of type PyDateTime_DateType
or a subtype of PyDateTime_DateType
. ob must not be NULL
.
PyDate_CheckExact
Return true if ob is of type PyDateTime_DateType
. ob must not be NULL
.
PyDateTime_Check
Return true if ob is of type PyDateTime_DateTimeType
or a subtype of PyDateTime_DateTimeType
. ob must not be NULL
.
PyDateTime_CheckExact
Return true if ob is of type PyDateTime_DateTimeType
. ob must not be NULL
.
PyTime_Check
Return true if ob is of type PyDateTime_TimeType
or a subtype of PyDateTime_TimeType
. ob must not be NULL
.
PyTime_CheckExact
Return true if ob is of type PyDateTime_TimeType
. ob must not be NULL
.
PyDelta_Check
Return true if ob is of type PyDateTime_DeltaType
or a subtype of PyDateTime_DeltaType
. ob must not be NULL
.
PyDelta_CheckExact
Return true if ob is of type PyDateTime_DeltaType
. ob must not be NULL
.
PyTZInfo_Check
Return true if ob is of type PyDateTime_TZInfoType
or a subtype of PyDateTime_TZInfoType
. ob must not be NULL
.
PyTZInfo_CheckExact
Return true if ob is of type PyDateTime_TZInfoType
. ob must not be NULL
.
Macros to create objects:
PyDate_FromDate
Return a datetime.date
object with the specified year, month and day.
PyDateTime_FromDateAndTime
Return a datetime.datetime
object with the specified year, month, day, hour, minute, second and microsecond.
PyDateTime_FromDateAndTimeAndFold
Return a datetime.datetime
object with the specified year, month, day, hour, minute, second, microsecond and fold.
New in version 3.6.
PyTime_FromTime
Return a datetime.time
object with the specified hour, minute, second and microsecond.
PyTime_FromTimeAndFold
Return a datetime.time
object with the specified hour, minute, second, microsecond and fold.
New in version 3.6.
PyDelta_FromDSU
Return a datetime.timedelta
object representing the given number of days, seconds and microseconds. Normalization is performed so that the resulting number of microseconds and seconds lie in the ranges documented for datetime.timedelta
objects.
PyTimeZone_FromOffset
Return a datetime.timezone
object with an unnamed fixed offset represented by the offset argument.
New in version 3.7.
PyTimeZone_FromOffsetAndName
Return a datetime.timezone
object with a fixed offset represented by the offset argument and with tzname name.
New in version 3.7.
Macros to extract fields from date objects. The argument must be an instance of PyDateTime_Date
, including subclasses (such as PyDateTime_DateTime
). The argument must not be NULL
, and the type is not checked:
PyDateTime_GET_YEAR
Return the year, as a positive int.
PyDateTime_GET_MONTH
Return the month, as an int from 1 through 12.
PyDateTime_GET_DAY
Return the day, as an int from 1 through 31.
Macros to extract fields from datetime objects. The argument must be an instance of PyDateTime_DateTime
, including subclasses. The argument must not be NULL
, and the type is not checked:
PyDateTime_DATE_GET_HOUR
Return the hour, as an int from 0 through 23.
PyDateTime_DATE_GET_MINUTE
Return the minute, as an int from 0 through 59.
PyDateTime_DATE_GET_SECOND
Return the second, as an int from 0 through 59.
PyDateTime_DATE_GET_MICROSECOND
Return the microsecond, as an int from 0 through 999999.
Macros to extract fields from time objects. The argument must be an instance of PyDateTime_Time
, including subclasses. The argument must not be NULL
, and the type is not checked:
PyDateTime_TIME_GET_HOUR
Return the hour, as an int from 0 through 23.
PyDateTime_TIME_GET_MINUTE
Return the minute, as an int from 0 through 59.
PyDateTime_TIME_GET_SECOND
Return the second, as an int from 0 through 59.
PyDateTime_TIME_GET_MICROSECOND
Return the microsecond, as an int from 0 through 999999.
Macros to extract fields from time delta objects. The argument must be an instance of PyDateTime_Delta
, including subclasses. The argument must not be NULL
, and the type is not checked:
PyDateTime_DELTA_GET_DAYS
Return the number of days, as an int from -999999999 to 999999999.
New in version 3.3.
PyDateTime_DELTA_GET_SECONDS
Return the number of seconds, as an int from 0 through 86399.
New in version 3.3.
PyDateTime_DELTA_GET_MICROSECONDS
Return the number of microseconds, as an int from 0 through 999999.
New in version 3.3.
Macros for the convenience of modules implementing the DB API:
PyDateTime_FromTimestamp
Create and return a new datetime.datetime
object given an argument tuple suitable for passing to datetime.datetime.fromtimestamp()
.
PyDate_FromTimestamp
Create and return a new datetime.date
object given an argument tuple suitable for passing to datetime.date.fromtimestamp()
.