|
1 |
|
2 :mod:`time` --- Time access and conversions |
|
3 =========================================== |
|
4 |
|
5 .. module:: time |
|
6 :synopsis: Time access and conversions. |
|
7 |
|
8 |
|
9 This module provides various time-related functions. For related |
|
10 functionality, see also the :mod:`datetime` and :mod:`calendar` modules. |
|
11 |
|
12 Although this module is always available, |
|
13 not all functions are available on all platforms. Most of the functions |
|
14 defined in this module call platform C library functions with the same name. It |
|
15 may sometimes be helpful to consult the platform documentation, because the |
|
16 semantics of these functions varies among platforms. |
|
17 |
|
18 An explanation of some terminology and conventions is in order. |
|
19 |
|
20 .. index:: single: epoch |
|
21 |
|
22 * The :dfn:`epoch` is the point where the time starts. On January 1st of that |
|
23 year, at 0 hours, the "time since the epoch" is zero. For Unix, the epoch is |
|
24 1970. To find out what the epoch is, look at ``gmtime(0)``. |
|
25 |
|
26 .. index:: single: Year 2038 |
|
27 |
|
28 * The functions in this module do not handle dates and times before the epoch or |
|
29 far in the future. The cut-off point in the future is determined by the C |
|
30 library; for Unix, it is typically in 2038. |
|
31 |
|
32 .. index:: |
|
33 single: Year 2000 |
|
34 single: Y2K |
|
35 |
|
36 * **Year 2000 (Y2K) issues**: Python depends on the platform's C library, which |
|
37 generally doesn't have year 2000 issues, since all dates and times are |
|
38 represented internally as seconds since the epoch. Functions accepting a |
|
39 :class:`struct_time` (see below) generally require a 4-digit year. For backward |
|
40 compatibility, 2-digit years are supported if the module variable |
|
41 ``accept2dyear`` is a non-zero integer; this variable is initialized to ``1`` |
|
42 unless the environment variable :envvar:`PYTHONY2K` is set to a non-empty |
|
43 string, in which case it is initialized to ``0``. Thus, you can set |
|
44 :envvar:`PYTHONY2K` to a non-empty string in the environment to require 4-digit |
|
45 years for all year input. When 2-digit years are accepted, they are converted |
|
46 according to the POSIX or X/Open standard: values 69-99 are mapped to 1969-1999, |
|
47 and values 0--68 are mapped to 2000--2068. Values 100--1899 are always illegal. |
|
48 Note that this is new as of Python 1.5.2(a2); earlier versions, up to Python |
|
49 1.5.1 and 1.5.2a1, would add 1900 to year values below 1900. |
|
50 |
|
51 .. index:: |
|
52 single: UTC |
|
53 single: Coordinated Universal Time |
|
54 single: Greenwich Mean Time |
|
55 |
|
56 * UTC is Coordinated Universal Time (formerly known as Greenwich Mean Time, or |
|
57 GMT). The acronym UTC is not a mistake but a compromise between English and |
|
58 French. |
|
59 |
|
60 .. index:: single: Daylight Saving Time |
|
61 |
|
62 * DST is Daylight Saving Time, an adjustment of the timezone by (usually) one |
|
63 hour during part of the year. DST rules are magic (determined by local law) and |
|
64 can change from year to year. The C library has a table containing the local |
|
65 rules (often it is read from a system file for flexibility) and is the only |
|
66 source of True Wisdom in this respect. |
|
67 |
|
68 * The precision of the various real-time functions may be less than suggested by |
|
69 the units in which their value or argument is expressed. E.g. on most Unix |
|
70 systems, the clock "ticks" only 50 or 100 times a second. |
|
71 |
|
72 * On the other hand, the precision of :func:`time` and :func:`sleep` is better |
|
73 than their Unix equivalents: times are expressed as floating point numbers, |
|
74 :func:`time` returns the most accurate time available (using Unix |
|
75 :cfunc:`gettimeofday` where available), and :func:`sleep` will accept a time |
|
76 with a nonzero fraction (Unix :cfunc:`select` is used to implement this, where |
|
77 available). |
|
78 |
|
79 * The time value as returned by :func:`gmtime`, :func:`localtime`, and |
|
80 :func:`strptime`, and accepted by :func:`asctime`, :func:`mktime` and |
|
81 :func:`strftime`, may be considered as a sequence of 9 integers. The return |
|
82 values of :func:`gmtime`, :func:`localtime`, and :func:`strptime` also offer |
|
83 attribute names for individual fields. |
|
84 |
|
85 +-------+-------------------+---------------------------------+ |
|
86 | Index | Attribute | Values | |
|
87 +=======+===================+=================================+ |
|
88 | 0 | :attr:`tm_year` | (for example, 1993) | |
|
89 +-------+-------------------+---------------------------------+ |
|
90 | 1 | :attr:`tm_mon` | range [1,12] | |
|
91 +-------+-------------------+---------------------------------+ |
|
92 | 2 | :attr:`tm_mday` | range [1,31] | |
|
93 +-------+-------------------+---------------------------------+ |
|
94 | 3 | :attr:`tm_hour` | range [0,23] | |
|
95 +-------+-------------------+---------------------------------+ |
|
96 | 4 | :attr:`tm_min` | range [0,59] | |
|
97 +-------+-------------------+---------------------------------+ |
|
98 | 5 | :attr:`tm_sec` | range [0,61]; see **(1)** in | |
|
99 | | | :func:`strftime` description | |
|
100 +-------+-------------------+---------------------------------+ |
|
101 | 6 | :attr:`tm_wday` | range [0,6], Monday is 0 | |
|
102 +-------+-------------------+---------------------------------+ |
|
103 | 7 | :attr:`tm_yday` | range [1,366] | |
|
104 +-------+-------------------+---------------------------------+ |
|
105 | 8 | :attr:`tm_isdst` | 0, 1 or -1; see below | |
|
106 +-------+-------------------+---------------------------------+ |
|
107 |
|
108 Note that unlike the C structure, the month value is a range of 1-12, not 0-11. |
|
109 A year value will be handled as described under "Year 2000 (Y2K) issues" above. |
|
110 A ``-1`` argument as the daylight savings flag, passed to :func:`mktime` will |
|
111 usually result in the correct daylight savings state to be filled in. |
|
112 |
|
113 When a tuple with an incorrect length is passed to a function expecting a |
|
114 :class:`struct_time`, or having elements of the wrong type, a :exc:`TypeError` |
|
115 is raised. |
|
116 |
|
117 .. versionchanged:: 2.2 |
|
118 The time value sequence was changed from a tuple to a :class:`struct_time`, with |
|
119 the addition of attribute names for the fields. |
|
120 |
|
121 |
|
122 The module defines the following functions and data items: |
|
123 |
|
124 .. data:: accept2dyear |
|
125 |
|
126 Boolean value indicating whether two-digit year values will be accepted. This |
|
127 is true by default, but will be set to false if the environment variable |
|
128 :envvar:`PYTHONY2K` has been set to a non-empty string. It may also be modified |
|
129 at run time. |
|
130 |
|
131 |
|
132 .. data:: altzone |
|
133 |
|
134 The offset of the local DST timezone, in seconds west of UTC, if one is defined. |
|
135 This is negative if the local DST timezone is east of UTC (as in Western Europe, |
|
136 including the UK). Only use this if ``daylight`` is nonzero. |
|
137 |
|
138 |
|
139 .. function:: asctime([t]) |
|
140 |
|
141 Convert a tuple or :class:`struct_time` representing a time as returned by |
|
142 :func:`gmtime` or :func:`localtime` to a 24-character string of the following |
|
143 form: ``'Sun Jun 20 23:21:05 1993'``. If *t* is not provided, the current time |
|
144 as returned by :func:`localtime` is used. Locale information is not used by |
|
145 :func:`asctime`. |
|
146 |
|
147 .. note:: |
|
148 |
|
149 Unlike the C function of the same name, there is no trailing newline. |
|
150 |
|
151 .. versionchanged:: 2.1 |
|
152 Allowed *t* to be omitted. |
|
153 |
|
154 |
|
155 .. function:: clock() |
|
156 |
|
157 .. index:: |
|
158 single: CPU time |
|
159 single: processor time |
|
160 single: benchmarking |
|
161 |
|
162 On Unix, return the current processor time as a floating point number expressed |
|
163 in seconds. The precision, and in fact the very definition of the meaning of |
|
164 "processor time", depends on that of the C function of the same name, but in any |
|
165 case, this is the function to use for benchmarking Python or timing algorithms. |
|
166 |
|
167 On Windows, this function returns wall-clock seconds elapsed since the first |
|
168 call to this function, as a floating point number, based on the Win32 function |
|
169 :cfunc:`QueryPerformanceCounter`. The resolution is typically better than one |
|
170 microsecond. |
|
171 |
|
172 |
|
173 .. function:: ctime([secs]) |
|
174 |
|
175 Convert a time expressed in seconds since the epoch to a string representing |
|
176 local time. If *secs* is not provided or :const:`None`, the current time as |
|
177 returned by :func:`time` is used. ``ctime(secs)`` is equivalent to |
|
178 ``asctime(localtime(secs))``. Locale information is not used by :func:`ctime`. |
|
179 |
|
180 .. versionchanged:: 2.1 |
|
181 Allowed *secs* to be omitted. |
|
182 |
|
183 .. versionchanged:: 2.4 |
|
184 If *secs* is :const:`None`, the current time is used. |
|
185 |
|
186 |
|
187 .. data:: daylight |
|
188 |
|
189 Nonzero if a DST timezone is defined. |
|
190 |
|
191 |
|
192 .. function:: gmtime([secs]) |
|
193 |
|
194 Convert a time expressed in seconds since the epoch to a :class:`struct_time` in |
|
195 UTC in which the dst flag is always zero. If *secs* is not provided or |
|
196 :const:`None`, the current time as returned by :func:`time` is used. Fractions |
|
197 of a second are ignored. See above for a description of the |
|
198 :class:`struct_time` object. See :func:`calendar.timegm` for the inverse of this |
|
199 function. |
|
200 |
|
201 .. versionchanged:: 2.1 |
|
202 Allowed *secs* to be omitted. |
|
203 |
|
204 .. versionchanged:: 2.4 |
|
205 If *secs* is :const:`None`, the current time is used. |
|
206 |
|
207 |
|
208 .. function:: localtime([secs]) |
|
209 |
|
210 Like :func:`gmtime` but converts to local time. If *secs* is not provided or |
|
211 :const:`None`, the current time as returned by :func:`time` is used. The dst |
|
212 flag is set to ``1`` when DST applies to the given time. |
|
213 |
|
214 .. versionchanged:: 2.1 |
|
215 Allowed *secs* to be omitted. |
|
216 |
|
217 .. versionchanged:: 2.4 |
|
218 If *secs* is :const:`None`, the current time is used. |
|
219 |
|
220 |
|
221 .. function:: mktime(t) |
|
222 |
|
223 This is the inverse function of :func:`localtime`. Its argument is the |
|
224 :class:`struct_time` or full 9-tuple (since the dst flag is needed; use ``-1`` |
|
225 as the dst flag if it is unknown) which expresses the time in *local* time, not |
|
226 UTC. It returns a floating point number, for compatibility with :func:`time`. |
|
227 If the input value cannot be represented as a valid time, either |
|
228 :exc:`OverflowError` or :exc:`ValueError` will be raised (which depends on |
|
229 whether the invalid value is caught by Python or the underlying C libraries). |
|
230 The earliest date for which it can generate a time is platform-dependent. |
|
231 |
|
232 |
|
233 .. function:: sleep(secs) |
|
234 |
|
235 Suspend execution for the given number of seconds. The argument may be a |
|
236 floating point number to indicate a more precise sleep time. The actual |
|
237 suspension time may be less than that requested because any caught signal will |
|
238 terminate the :func:`sleep` following execution of that signal's catching |
|
239 routine. Also, the suspension time may be longer than requested by an arbitrary |
|
240 amount because of the scheduling of other activity in the system. |
|
241 |
|
242 |
|
243 .. function:: strftime(format[, t]) |
|
244 |
|
245 Convert a tuple or :class:`struct_time` representing a time as returned by |
|
246 :func:`gmtime` or :func:`localtime` to a string as specified by the *format* |
|
247 argument. If *t* is not provided, the current time as returned by |
|
248 :func:`localtime` is used. *format* must be a string. :exc:`ValueError` is |
|
249 raised if any field in *t* is outside of the allowed range. |
|
250 |
|
251 .. versionchanged:: 2.1 |
|
252 Allowed *t* to be omitted. |
|
253 |
|
254 .. versionchanged:: 2.4 |
|
255 :exc:`ValueError` raised if a field in *t* is out of range. |
|
256 |
|
257 .. versionchanged:: 2.5 |
|
258 0 is now a legal argument for any position in the time tuple; if it is normally |
|
259 illegal the value is forced to a correct one.. |
|
260 |
|
261 The following directives can be embedded in the *format* string. They are shown |
|
262 without the optional field width and precision specification, and are replaced |
|
263 by the indicated characters in the :func:`strftime` result: |
|
264 |
|
265 +-----------+--------------------------------+-------+ |
|
266 | Directive | Meaning | Notes | |
|
267 +===========+================================+=======+ |
|
268 | ``%a`` | Locale's abbreviated weekday | | |
|
269 | | name. | | |
|
270 +-----------+--------------------------------+-------+ |
|
271 | ``%A`` | Locale's full weekday name. | | |
|
272 +-----------+--------------------------------+-------+ |
|
273 | ``%b`` | Locale's abbreviated month | | |
|
274 | | name. | | |
|
275 +-----------+--------------------------------+-------+ |
|
276 | ``%B`` | Locale's full month name. | | |
|
277 +-----------+--------------------------------+-------+ |
|
278 | ``%c`` | Locale's appropriate date and | | |
|
279 | | time representation. | | |
|
280 +-----------+--------------------------------+-------+ |
|
281 | ``%d`` | Day of the month as a decimal | | |
|
282 | | number [01,31]. | | |
|
283 +-----------+--------------------------------+-------+ |
|
284 | ``%H`` | Hour (24-hour clock) as a | | |
|
285 | | decimal number [00,23]. | | |
|
286 +-----------+--------------------------------+-------+ |
|
287 | ``%I`` | Hour (12-hour clock) as a | | |
|
288 | | decimal number [01,12]. | | |
|
289 +-----------+--------------------------------+-------+ |
|
290 | ``%j`` | Day of the year as a decimal | | |
|
291 | | number [001,366]. | | |
|
292 +-----------+--------------------------------+-------+ |
|
293 | ``%m`` | Month as a decimal number | | |
|
294 | | [01,12]. | | |
|
295 +-----------+--------------------------------+-------+ |
|
296 | ``%M`` | Minute as a decimal number | | |
|
297 | | [00,59]. | | |
|
298 +-----------+--------------------------------+-------+ |
|
299 | ``%p`` | Locale's equivalent of either | \(1) | |
|
300 | | AM or PM. | | |
|
301 +-----------+--------------------------------+-------+ |
|
302 | ``%S`` | Second as a decimal number | \(2) | |
|
303 | | [00,61]. | | |
|
304 +-----------+--------------------------------+-------+ |
|
305 | ``%U`` | Week number of the year | \(3) | |
|
306 | | (Sunday as the first day of | | |
|
307 | | the week) as a decimal number | | |
|
308 | | [00,53]. All days in a new | | |
|
309 | | year preceding the first | | |
|
310 | | Sunday are considered to be in | | |
|
311 | | week 0. | | |
|
312 +-----------+--------------------------------+-------+ |
|
313 | ``%w`` | Weekday as a decimal number | | |
|
314 | | [0(Sunday),6]. | | |
|
315 +-----------+--------------------------------+-------+ |
|
316 | ``%W`` | Week number of the year | \(3) | |
|
317 | | (Monday as the first day of | | |
|
318 | | the week) as a decimal number | | |
|
319 | | [00,53]. All days in a new | | |
|
320 | | year preceding the first | | |
|
321 | | Monday are considered to be in | | |
|
322 | | week 0. | | |
|
323 +-----------+--------------------------------+-------+ |
|
324 | ``%x`` | Locale's appropriate date | | |
|
325 | | representation. | | |
|
326 +-----------+--------------------------------+-------+ |
|
327 | ``%X`` | Locale's appropriate time | | |
|
328 | | representation. | | |
|
329 +-----------+--------------------------------+-------+ |
|
330 | ``%y`` | Year without century as a | | |
|
331 | | decimal number [00,99]. | | |
|
332 +-----------+--------------------------------+-------+ |
|
333 | ``%Y`` | Year with century as a decimal | | |
|
334 | | number. | | |
|
335 +-----------+--------------------------------+-------+ |
|
336 | ``%Z`` | Time zone name (no characters | | |
|
337 | | if no time zone exists). | | |
|
338 +-----------+--------------------------------+-------+ |
|
339 | ``%%`` | A literal ``'%'`` character. | | |
|
340 +-----------+--------------------------------+-------+ |
|
341 |
|
342 Notes: |
|
343 |
|
344 (1) |
|
345 When used with the :func:`strptime` function, the ``%p`` directive only affects |
|
346 the output hour field if the ``%I`` directive is used to parse the hour. |
|
347 |
|
348 (2) |
|
349 The range really is ``0`` to ``61``; this accounts for leap seconds and the |
|
350 (very rare) double leap seconds. |
|
351 |
|
352 (3) |
|
353 When used with the :func:`strptime` function, ``%U`` and ``%W`` are only used in |
|
354 calculations when the day of the week and the year are specified. |
|
355 |
|
356 Here is an example, a format for dates compatible with that specified in the |
|
357 :rfc:`2822` Internet email standard. [#]_ :: |
|
358 |
|
359 >>> from time import gmtime, strftime |
|
360 >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) |
|
361 'Thu, 28 Jun 2001 14:17:15 +0000' |
|
362 |
|
363 Additional directives may be supported on certain platforms, but only the ones |
|
364 listed here have a meaning standardized by ANSI C. |
|
365 |
|
366 On some platforms, an optional field width and precision specification can |
|
367 immediately follow the initial ``'%'`` of a directive in the following order; |
|
368 this is also not portable. The field width is normally 2 except for ``%j`` where |
|
369 it is 3. |
|
370 |
|
371 |
|
372 .. function:: strptime(string[, format]) |
|
373 |
|
374 Parse a string representing a time according to a format. The return value is |
|
375 a :class:`struct_time` as returned by :func:`gmtime` or :func:`localtime`. |
|
376 |
|
377 The *format* parameter uses the same directives as those used by |
|
378 :func:`strftime`; it defaults to ``"%a %b %d %H:%M:%S %Y"`` which matches the |
|
379 formatting returned by :func:`ctime`. If *string* cannot be parsed according to |
|
380 *format*, or if it has excess data after parsing, :exc:`ValueError` is raised. |
|
381 The default values used to fill in any missing data when more accurate values |
|
382 cannot be inferred are ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. |
|
383 |
|
384 For example: |
|
385 |
|
386 >>> import time |
|
387 >>> time.strptime("30 Nov 00", "%d %b %y") # doctest: +NORMALIZE_WHITESPACE |
|
388 time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, |
|
389 tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) |
|
390 |
|
391 Support for the ``%Z`` directive is based on the values contained in ``tzname`` |
|
392 and whether ``daylight`` is true. Because of this, it is platform-specific |
|
393 except for recognizing UTC and GMT which are always known (and are considered to |
|
394 be non-daylight savings timezones). |
|
395 |
|
396 Only the directives specified in the documentation are supported. Because |
|
397 ``strftime()`` is implemented per platform it can sometimes offer more |
|
398 directives than those listed. But ``strptime()`` is independent of any platform |
|
399 and thus does not necessarily support all directives available that are not |
|
400 documented as supported. |
|
401 |
|
402 |
|
403 .. data:: struct_time |
|
404 |
|
405 The type of the time value sequence returned by :func:`gmtime`, |
|
406 :func:`localtime`, and :func:`strptime`. |
|
407 |
|
408 .. versionadded:: 2.2 |
|
409 |
|
410 |
|
411 .. function:: time() |
|
412 |
|
413 Return the time as a floating point number expressed in seconds since the epoch, |
|
414 in UTC. Note that even though the time is always returned as a floating point |
|
415 number, not all systems provide time with a better precision than 1 second. |
|
416 While this function normally returns non-decreasing values, it can return a |
|
417 lower value than a previous call if the system clock has been set back between |
|
418 the two calls. |
|
419 |
|
420 |
|
421 .. data:: timezone |
|
422 |
|
423 The offset of the local (non-DST) timezone, in seconds west of UTC (negative in |
|
424 most of Western Europe, positive in the US, zero in the UK). |
|
425 |
|
426 |
|
427 .. data:: tzname |
|
428 |
|
429 A tuple of two strings: the first is the name of the local non-DST timezone, the |
|
430 second is the name of the local DST timezone. If no DST timezone is defined, |
|
431 the second string should not be used. |
|
432 |
|
433 |
|
434 .. function:: tzset() |
|
435 |
|
436 Resets the time conversion rules used by the library routines. The environment |
|
437 variable :envvar:`TZ` specifies how this is done. |
|
438 |
|
439 .. versionadded:: 2.3 |
|
440 |
|
441 Availability: Unix. |
|
442 |
|
443 .. note:: |
|
444 |
|
445 Although in many cases, changing the :envvar:`TZ` environment variable may |
|
446 affect the output of functions like :func:`localtime` without calling |
|
447 :func:`tzset`, this behavior should not be relied on. |
|
448 |
|
449 The :envvar:`TZ` environment variable should contain no whitespace. |
|
450 |
|
451 The standard format of the :envvar:`TZ` environment variable is (whitespace |
|
452 added for clarity):: |
|
453 |
|
454 std offset [dst [offset [,start[/time], end[/time]]]] |
|
455 |
|
456 Where the components are: |
|
457 |
|
458 ``std`` and ``dst`` |
|
459 Three or more alphanumerics giving the timezone abbreviations. These will be |
|
460 propagated into time.tzname |
|
461 |
|
462 ``offset`` |
|
463 The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value |
|
464 added the local time to arrive at UTC. If preceded by a '-', the timezone |
|
465 is east of the Prime Meridian; otherwise, it is west. If no offset follows |
|
466 dst, summer time is assumed to be one hour ahead of standard time. |
|
467 |
|
468 ``start[/time], end[/time]`` |
|
469 Indicates when to change to and back from DST. The format of the |
|
470 start and end dates are one of the following: |
|
471 |
|
472 :samp:`J{n}` |
|
473 The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in |
|
474 all years February 28 is day 59 and March 1 is day 60. |
|
475 |
|
476 :samp:`{n}` |
|
477 The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and |
|
478 it is possible to refer to February 29. |
|
479 |
|
480 :samp:`M{m}.{n}.{d}` |
|
481 The *d*'th day (0 <= *d* <= 6) or week *n* of month *m* of the year (1 |
|
482 <= *n* <= 5, 1 <= *m* <= 12, where week 5 means "the last *d* day in |
|
483 month *m*" which may occur in either the fourth or the fifth |
|
484 week). Week 1 is the first week in which the *d*'th day occurs. Day |
|
485 zero is Sunday. |
|
486 |
|
487 ``time`` has the same format as ``offset`` except that no leading sign |
|
488 ('-' or '+') is allowed. The default, if time is not given, is 02:00:00. |
|
489 |
|
490 :: |
|
491 |
|
492 >>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0' |
|
493 >>> time.tzset() |
|
494 >>> time.strftime('%X %x %Z') |
|
495 '02:07:36 05/08/03 EDT' |
|
496 >>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0' |
|
497 >>> time.tzset() |
|
498 >>> time.strftime('%X %x %Z') |
|
499 '16:08:12 05/08/03 AEST' |
|
500 |
|
501 On many Unix systems (including \*BSD, Linux, Solaris, and Darwin), it is more |
|
502 convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) database to |
|
503 specify the timezone rules. To do this, set the :envvar:`TZ` environment |
|
504 variable to the path of the required timezone datafile, relative to the root of |
|
505 the systems 'zoneinfo' timezone database, usually located at |
|
506 :file:`/usr/share/zoneinfo`. For example, ``'US/Eastern'``, |
|
507 ``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. :: |
|
508 |
|
509 >>> os.environ['TZ'] = 'US/Eastern' |
|
510 >>> time.tzset() |
|
511 >>> time.tzname |
|
512 ('EST', 'EDT') |
|
513 >>> os.environ['TZ'] = 'Egypt' |
|
514 >>> time.tzset() |
|
515 >>> time.tzname |
|
516 ('EET', 'EEST') |
|
517 |
|
518 |
|
519 .. seealso:: |
|
520 |
|
521 Module :mod:`datetime` |
|
522 More object-oriented interface to dates and times. |
|
523 |
|
524 Module :mod:`locale` |
|
525 Internationalization services. The locale settings can affect the return values |
|
526 for some of the functions in the :mod:`time` module. |
|
527 |
|
528 Module :mod:`calendar` |
|
529 General calendar-related functions. :func:`timegm` is the inverse of |
|
530 :func:`gmtime` from this module. |
|
531 |
|
532 .. rubric:: Footnotes |
|
533 |
|
534 .. [#] The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to the |
|
535 preferred hour/minute offset is not supported by all ANSI C libraries. Also, a |
|
536 strict reading of the original 1982 :rfc:`822` standard calls for a two-digit |
|
537 year (%y rather than %Y), but practice moved to 4-digit years long before the |
|
538 year 2000. The 4-digit year has been mandated by :rfc:`2822`, which obsoletes |
|
539 :rfc:`822`. |
|
540 |