6.10.5 time Objects
A time object represents a (local) time of day, independent of any particular day, and subject to adjustment via a tzinfo object.
-
All arguments are optional. tzinfo may be
None
, or an instance of a tzinfo subclass. The remaining arguments may be ints or longs, in the following ranges:0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 1000000
.
If an argument outside those ranges is given, ValueError is raised. All default to
0
except tzinfo, which defaults to None.
Class attributes:
-
The earliest representable time,
time(0, 0, 0, 0)
.
-
The latest representable time,
time(23, 59, 59, 999999)
.
-
The smallest possible difference between non-equal time
objects,
timedelta(microseconds=1)
, although note that arithmetic on time objects is not supported.
Instance attributes (read-only):
-
In
range(24)
.
-
In
range(60)
.
-
In
range(60)
.
-
In
range(1000000)
.
-
The object passed as the tzinfo argument to the time
constructor, or
None
if none was passed.
Supported operations:
- comparison of time to time,
where a is considered less than b when a precedes
b in time. If one comparand is naive and the other is aware,
TypeError is raised. If both comparands are aware, and
have the same tzinfo member, the common tzinfo
member is ignored and the base times are compared. If both
comparands are aware and have different tzinfo members,
the comparands are first adjusted by subtracting their UTC offsets
(obtained from
self.utcoffset()
). In order to stop mixed-type comparisons from falling back to the default comparison by object address, when a time object is compared to an object of a different type, TypeError is raised unless the comparison is==
or!=
. The latter cases return False or True, respectively. - hash, use as dict key
- efficient pickling
- in Boolean contexts, a time object is considered to be
true if and only if, after converting it to minutes and
subtracting utcoffset() (or
0
if that'sNone
), the result is non-zero.
Instance methods:
-
Return a time with the same value, except for those members given
new values by whichever keyword arguments are specified. Note that
tzinfo=None
can be specified to create a naive time from an aware time, without conversion of the time members.
-
Return a string representing the time in ISO 8601 format,
HH:MM:SS.mmmmmm
or, if self.microsecond is 0,
HH:MM:SS
If utcoffset() does not return
None
, a 6-character string is appended, giving the UTC offset in (signed) hours and minutes: HH:MM:SS.mmmmmm+HH:MM or, if self.microsecond is 0, HH:MM:SS+HH:MM
-
For a time t,
str(t)
is equivalent tot.isoformat()
.
- Return a string representing the time, controlled by an explicit format string. See the section on strftime() behavior.
-
If tzinfo is
None
, returnsNone
, else returnsself.tzinfo.utcoffset(None)
, and raises an exception if the latter doesn't returnNone
or a timedelta object representing a whole number of minutes with magnitude less than one day.
-
If tzinfo is
None
, returnsNone
, else returnsself.tzinfo.dst(None)
, and raises an exception if the latter doesn't returnNone
, or a timedelta object representing a whole number of minutes with magnitude less than one day.
-
If tzinfo is
None
, returnsNone
, else returnsself.tzinfo.tzname(None)
, or raises an exception if the latter doesn't returnNone
or a string object.
See About this document... for information on suggesting changes.