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