# cpython-withatomic / Doc / libtime.tex

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