blob: fe8b7dcba22ad53aa6e9cb37e5469e535b377f2a [file] [log] [blame]
Guido van Rossum5fdeeea1994-01-02 01:22:07 +00001\section{Built-in Module \sectcode{time}}
2
3\bimodindex{time}
4This module provides various time-related functions.
5It is always available. (On some systems, not all functions may
6exist; e.g. the ``milli'' variants can't always be implemented.)
7
8An explanation of some terminology and conventions is in order.
9
10\begin{itemize}
11
12\item
13The ``epoch'' is the point where the time starts. On January 1st that
14year, at 0 hours, the ``time since the epoch'' is zero. For UNIX, the
15epoch is 1970. To find out what the epoch is, look at the first
16element of \code{gmtime(0)}.
17
18\item
19UTC is Coordinated Universal Time (formerly known as Greenwich Mean
20Time). The acronym UTC is not a mistake but a compromise between
21English and French.
22
23\item
24DST is Daylight Saving Time, an adjustment of the timezone by
25(usually) one hour during part of the year. DST rules are magic
26(determined by local law) and can change from year to year. The C
27library has a table containing the local rules (often it is read from
28a system file for flexibility) and is the only source of True Wisdom
29in this respect.
30
31\item
32The precision of the various real-time functions may be less than
33suggested by the units in which their value or argument is expressed.
34E.g. on most UNIX systems, the clock ``ticks'' only every 1/50th or
351/100th of a second, and on the Mac, it ticks 60 times a second.
36
37\end{itemize}
38
39Functions and data items are:
40
41\renewcommand{\indexsubitem}{(in module time)}
42
43\begin{datadesc}{altzone}
44The offset of the local DST timezone, in seconds west of the 0th
45meridian, if one is defined. Only use this if \code{daylight} is
46nonzero.
47\end{datadesc}
48
49
50\begin{funcdesc}{asctime}{tuple}
51Convert a tuple representing a time as returned by \code{gmtime()} or
52\code{localtime()} to a 24-character string of the following form:
53\code{'Sun Jun 20 23:21:05 1993'}. Note: unlike the C function of
54the same name, there is no trailing newline.
55\end{funcdesc}
56
57
58\begin{funcdesc}{ctime}{secs}
59Convert a time expressed in seconds since the epoch to a string
60representing local time. \code{ctime(t)} is equivalent to
61\code{asctime(localtime(t))}.
62\end{funcdesc}
63
64\begin{datadesc}{daylight}
65Nonzero if a DST timezone is defined.
66\end{datadesc}
67
68\begin{funcdesc}{gmtime}{secs}
69Convert a time expressed in seconds since the epoch to a tuple of 9
70integers, in UTC: year (e.g. 1993), month (1-12), day (1-31), hour
71(0-23), minute (0-59), second (0-59), weekday (0-6, monday is 0),
72julian day (1-366), dst flag (always zero). Fractions of a second are
73ignored. Note subtle differences with the C function of this name.
74\end{funcdesc}
75
76\begin{funcdesc}{localtime}{secs}
77Like \code{gmtime} but converts to local time. The dst flag is set
78to 1 when DST applies to the given time.
79\end{funcdesc}
80
81\begin{funcdesc}{millisleep}{msecs}
82Suspend execution for the given number of milliseconds. (Obsolete,
83you can now use use \code{sleep} with a floating point argument.)
84\end{funcdesc}
85
86\begin{funcdesc}{millitimer}{}
87Return the number of milliseconds of real time elapsed since some
88point in the past that is fixed per execution of the python
89interpreter (but may change in each following run). The return value
90may be negative, and it may wrap around.
91\end{funcdesc}
92
93\begin{funcdesc}{mktime}{tuple}
94This is the inverse function of \code{localtime}. Its argument is the
95full 9-tuple (since the dst flag is needed). It returns an integer.
96\end{funcdesc}
97
98\begin{funcdesc}{sleep}{secs}
99Suspend execution for the given number of seconds. The argument may
100be a floating point number to indicate a more precise sleep time.
101\end{funcdesc}
102
103\begin{funcdesc}{time}{}
104Return the time as a floating point number expressed in seconds since
105the epoch, in UTC. Note that even though the time is always returned
106as a floating point number, not all systems provide time with a better
107precision than 1 second. An alternative for measuring precise
108intervals is \code{millitimer}.
109\end{funcdesc}
110
111\begin{datadesc}{timezone}
112The offset of the local (non-DST) timezone, in seconds west of the 0th
113meridian (i.e. negative in most of Western Europe, positive in the US,
114zero in the UK).
115\end{datadesc}
116
117\begin{datadesc}{tzname}
118A tuple of two strings: the first is the name of the local non-DST
119timezone, the second is the name of the local DST timezone. If no DST
120timezone is defined, the second string should not be used.
121\end{datadesc}