— Basic date and time types
New in version 2.3.
module supplies classes for manipulating dates and times in both simple
and complex ways. While date and time arithmetic is supported, the focus of the
implementation is on efficient attribute extraction for output formatting and manipulation.
For related functionality, see also the
There are two kinds of date and time objects: “naive” and “aware”.
An aware object has sufficient knowledge of applicable algorithmic and political time
adjustments, such as time zone and daylight saving time information, to locate itself
relative to other aware objects. An aware object is used to represent a specific moment in
time that is not open to interpretation .
A naive object does not contain enough information to unambiguously locate itself relative
to other date/time objects. Whether a naive object represents Coordinated Universal
Time (UTC), local time, or time in some other timezone is purely up to the program, just
like it’s up to the program whether a particular number represents metres, miles, or
mass. Naive objects are easy to understand and to work with, at the cost of ignoring
some aspects of reality.
For applications requiring aware objects,
objects have an optional
time zone information attribute,
, that can be set to an instance of a subclass of
objects capture information about the offset
from UTC time, the time zone name, and whether Daylight Saving Time is in effect. Note
that no concrete
classes are supplied by the
timezones at whatever level of detail is required is up to the application. The rules for time
adjustment across the world are more political than rational, and there is no standard
suitable for every application.
module exports the following constants:
The smallest year number allowed in a
The largest year number allowed in a
Python » Python v2.7.6 documentation » The Python Standard Library » 8. Data Types »