time — Time access and conversions


This module provides various time-related functions. For relatedfunctionality, see also thedatetime andcalendar modules.

Although this module is always available,not all functions are available on all platforms. Most of the functionsdefined in this module call platform C library functions with the same name. Itmay sometimes be helpful to consult the platform documentation, because thesemantics of these functions varies among platforms.

An explanation of some terminology and conventions is in order.

  • Theepoch is the point where the time starts, the return value oftime.gmtime(0). It is January 1, 1970, 00:00:00 (UTC) on all platforms.

  • The termseconds since the epoch refers to the total numberof elapsed seconds since the epoch, typically excludingleap seconds. Leap seconds are excluded from this total on allPOSIX-compliant platforms.

  • The functions in this module may not handle dates and times before theepoch orfar in the future. The cut-off point in the future is determined by the Clibrary; for 32-bit systems, it is typically in 2038.

  • Functionstrptime() can parse 2-digit years when given%y formatcode. When 2-digit years are parsed, they are converted according to the POSIXand ISO C standards: values 69–99 are mapped to 1969–1999, and values 0–68are mapped to 2000–2068.

  • UTC isCoordinated Universal Time and supersededGreenwich Mean Time orGMT as the basis of international timekeeping. The acronym UTC is not amistake but conforms to an earlier, language-agnostic naming scheme for timestandards such as UT0, UT1, and UT2.

  • DST is Daylight Saving Time, an adjustment of the timezone by (usually) onehour during part of the year. DST rules are magic (determined by local law) andcan change from year to year. The C library has a table containing the localrules (often it is read from a system file for flexibility) and is the onlysource of True Wisdom in this respect.

  • The precision of the various real-time functions may be less than suggested bythe units in which their value or argument is expressed. E.g. on most Unixsystems, the clock «ticks» only 50 or 100 times a second.

  • On the other hand, the precision oftime() andsleep() is betterthan their Unix equivalents: times are expressed as floating-point numbers,time() returns the most accurate time available (using Unixgettimeofday() where available), andsleep() will accept a timewith a nonzero fraction (Unixselect() is used to implement this, whereavailable).

  • The time value as returned bygmtime(),localtime(), andstrptime(), and accepted byasctime(),mktime() andstrftime(), is a sequence of 9 integers. The return values ofgmtime(),localtime(), andstrptime() also offer attributenames for individual fields.

    Seestruct_time for a description of these objects.

    Άλλαξε στην έκδοση 3.3:Thestruct_time type was extended to providethetm_gmtoff andtm_zoneattributes when platform supports correspondingstructtm members.

    Άλλαξε στην έκδοση 3.6:Thestruct_time attributestm_gmtoff andtm_zoneare now available on all platforms.

  • Use the following functions to convert between time representations:

    From

    To

    Use

    seconds since the epoch

    struct_time inUTC

    gmtime()

    seconds since the epoch

    struct_time inlocal time

    localtime()

    struct_time inUTC

    seconds since the epoch

    calendar.timegm()

    struct_time inlocal time

    seconds since the epoch

    mktime()

Functions

time.asctime([t])

Convert a tuple orstruct_time representing a time as returned bygmtime() orlocaltime() to a string of the followingform:'SunJun2023:21:051993'. The day field is two characters longand is space padded if the day is a single digit,e.g.:'WedJun 904:26:401993'.

Ift is not provided, the current time as returned bylocaltime()is used. Locale information is not used byasctime().

Σημείωση

Unlike the C function of the same name,asctime() does not add atrailing newline.

time.pthread_getcpuclockid(thread_id)

Return theclk_id of the thread-specific CPU-time clock for the specifiedthread_id.

Usethreading.get_ident() or theidentattribute ofthreading.Thread objects to get a suitable valueforthread_id.

Προειδοποίηση

Passing an invalid or expiredthread_id may result inundefined behavior, such as segmentation fault.

Διαθεσιμότητα: Unix

See the man page forpthread_getcpuclockid(3) forfurther information.

Added in version 3.7.

time.clock_getres(clk_id)

Return the resolution (precision) of the specified clockclk_id. Refer toClock ID Constants for a list of accepted values forclk_id.

Added in version 3.3.

time.clock_gettime(clk_id)float

Return the time of the specified clockclk_id. Refer toClock ID Constants for a list of accepted values forclk_id.

Useclock_gettime_ns() to avoid the precision loss caused by thefloat type.

Added in version 3.3.

time.clock_gettime_ns(clk_id)int

Similar toclock_gettime() but return time as nanoseconds.

Added in version 3.7.

time.clock_settime(clk_id,time:float)

Set the time of the specified clockclk_id. Currently,CLOCK_REALTIME is the only accepted value forclk_id.

Useclock_settime_ns() to avoid the precision loss caused by thefloat type.

Διαθεσιμότητα: Unix, not Android, not iOS.

Added in version 3.3.

time.clock_settime_ns(clk_id,time:int)

Similar toclock_settime() but set time with nanoseconds.

Διαθεσιμότητα: Unix, not Android, not iOS.

Added in version 3.7.

time.ctime([secs])

Convert a time expressed in seconds since theepoch to a string of a form:'SunJun2023:21:051993' representing local time. The day fieldis two characters long and is space padded if the day is a single digit,e.g.:'WedJun 904:26:401993'.

Ifsecs is not provided orNone, the current time asreturned bytime() is used.ctime(secs) is equivalent toasctime(localtime(secs)). Locale information is not used byctime().

time.get_clock_info(name)

Get information on the specified clock as a namespace object.Supported clock names and the corresponding functions to read their valueare:

The result has the following attributes:

  • adjustable:True if the clock can be changed automatically (e.g. bya NTP daemon) or manually by the system administrator,False otherwise

  • implementation: The name of the underlying C function used to getthe clock value. Refer toClock ID Constants for possible values.

  • monotonic:True if the clock cannot go backward,False otherwise

  • resolution: The resolution of the clock in seconds (float)

Added in version 3.3.

time.gmtime([secs])

Convert a time expressed in seconds since theepoch to astruct_time inUTC in which the dst flag is always zero. Ifsecs is not provided orNone, the current time as returned bytime() is used. Fractionsof a second are ignored. See above for a description of thestruct_time object. Seecalendar.timegm() for the inverse of thisfunction.

time.localtime([secs])

Likegmtime() but converts to local time. Ifsecs is not provided orNone, the current time as returned bytime() is used. The dstflag is set to1 when DST applies to the given time.

localtime() may raiseOverflowError, if the timestamp isoutside the range of values supported by the platform Clocaltime()orgmtime() functions, andOSError onlocaltime() orgmtime() failure. It’s common for this to be restricted to yearsbetween 1970 and 2038.

time.mktime(t)

This is the inverse function oflocaltime(). Its argument is thestruct_time or full 9-tuple (since the dst flag is needed; use-1as the dst flag if it is unknown) which expresses the time inlocal time, notUTC. It returns a floating-point number, for compatibility withtime().If the input value cannot be represented as a valid time, eitherOverflowError orValueError will be raised (which depends onwhether the invalid value is caught by Python or the underlying C libraries).The earliest date for which it can generate a time is platform-dependent.

time.monotonic()float

Return the value (in fractional seconds) of a monotonic clock, i.e. a clockthat cannot go backwards. The clock is not affected by system clock updates.The reference point of the returned value is undefined, so that only thedifference between the results of two calls is valid.

Clock:

  • On Windows, callQueryPerformanceCounter() andQueryPerformanceFrequency().

  • On macOS, callmach_absolute_time() andmach_timebase_info().

  • On HP-UX, callgethrtime().

  • Callclock_gettime(CLOCK_HIGHRES) if available.

  • Otherwise, callclock_gettime(CLOCK_MONOTONIC).

Usemonotonic_ns() to avoid the precision loss caused by thefloat type.

Added in version 3.3.

Άλλαξε στην έκδοση 3.5:The function is now always available and always system-wide.

Άλλαξε στην έκδοση 3.10:On macOS, the function is now system-wide.

time.monotonic_ns()int

Similar tomonotonic(), but return time as nanoseconds.

Added in version 3.7.

time.perf_counter()float

Return the value (in fractional seconds) of a performance counter, i.e. aclock with the highest available resolution to measure a short duration. Itdoes include time elapsed during sleep and is system-wide. The referencepoint of the returned value is undefined, so that only the difference betweenthe results of two calls is valid.

Λεπτομέρεια υλοποίησης CPython: On CPython, use the same clock astime.monotonic() and is amonotonic clock, i.e. a clock that cannot go backwards.

Useperf_counter_ns() to avoid the precision loss caused by thefloat type.

Added in version 3.3.

Άλλαξε στην έκδοση 3.10:On Windows, the function is now system-wide.

Άλλαξε στην έκδοση 3.13:Use the same clock astime.monotonic().

time.perf_counter_ns()int

Similar toperf_counter(), but return time as nanoseconds.

Added in version 3.7.

time.process_time()float

Return the value (in fractional seconds) of the sum of the system and userCPU time of the current process. It does not include time elapsed duringsleep. It is process-wide by definition. The reference point of thereturned value is undefined, so that only the difference between the resultsof two calls is valid.

Useprocess_time_ns() to avoid the precision loss caused by thefloat type.

Added in version 3.3.

time.process_time_ns()int

Similar toprocess_time() but return time as nanoseconds.

Added in version 3.7.

time.sleep(secs)

Suspend execution of the calling thread for the given number of seconds.The argument may be a floating-point number to indicate a more precise sleeptime.

If the sleep is interrupted by a signal and no exception is raised by thesignal handler, the sleep is restarted with a recomputed timeout.

The suspension time may be longer than requested by an arbitrary amount,because of the scheduling of other activity in the system.

Windows implementation

On Windows, ifsecs is zero, the thread relinquishes the remainder of itstime slice to any other thread that is ready to run. If there are no otherthreads ready to run, the function returns immediately, and the threadcontinues execution. On Windows 8.1 and newer the implementation usesahigh-resolution timerwhich provides resolution of 100 nanoseconds. Ifsecs is zero,Sleep(0) is used.

Unix implementation

  • Useclock_nanosleep() if available (resolution: 1 nanosecond);

  • Or usenanosleep() if available (resolution: 1 nanosecond);

  • Or useselect() (resolution: 1 microsecond).

Σημείωση

To emulate a «no-op», usepass instead oftime.sleep(0).

To voluntarily relinquish the CPU, specify a real-timeschedulingpolicy and useos.sched_yield() instead.

Raises anauditing eventtime.sleep with argumentsecs.

Άλλαξε στην έκδοση 3.5:The function now sleeps at leastsecs even if the sleep is interruptedby a signal, except if the signal handler raises an exception (seePEP 475 for the rationale).

Άλλαξε στην έκδοση 3.11:On Unix, theclock_nanosleep() andnanosleep() functions are nowused if available. On Windows, a waitable timer is now used.

Άλλαξε στην έκδοση 3.13:Raises an auditing event.

time.strftime(format[,t])

Convert a tuple orstruct_time representing a time as returned bygmtime() orlocaltime() to a string as specified by theformatargument. Ift is not provided, the current time as returned bylocaltime() is used.format must be a string.ValueError israised if any field int is outside of the allowed range.

0 is a legal argument for any position in the time tuple; if it is normallyillegal the value is forced to a correct one.

The following directives can be embedded in theformat string. They are shownwithout the optional field width and precision specification, and are replacedby the indicated characters in thestrftime() result:

Directive

Meaning

Notes

%a

Locale’s abbreviated weekday name.

%A

Locale’s full weekday name.

%b

Locale’s abbreviated month name.

%B

Locale’s full month name.

%c

Locale’s appropriate date and timerepresentation.

%d

Day of the month as a decimal number [01,31].

%f

Microseconds as a decimal number

[000000,999999].

(1)

%H

Hour (24-hour clock) as a decimal number[00,23].

%I

Hour (12-hour clock) as a decimal number[01,12].

%j

Day of the year as a decimal number [001,366].

%m

Month as a decimal number [01,12].

%M

Minute as a decimal number [00,59].

%p

Locale’s equivalent of either AM or PM.

(2)

%S

Second as a decimal number [00,61].

(3)

%U

Week number of the year (Sunday as the firstday of the week) as a decimal number [00,53].All days in a new year preceding the firstSunday are considered to be in week 0.

(4)

%u

Day of the week (Monday is 1; Sunday is 7)as a decimal number [1, 7].

%w

Weekday as a decimal number [0(Sunday),6].

%W

Week number of the year (Monday as the firstday of the week) as a decimal number [00,53].All days in a new year preceding the firstMonday are considered to be in week 0.

(4)

%x

Locale’s appropriate date representation.

%X

Locale’s appropriate time representation.

%y

Year without century as a decimal number[00,99].

%Y

Year with century as a decimal number.

%z

Time zone offset indicating a positive ornegative time difference from UTC/GMT of theform +HHMM or -HHMM, where H represents decimalhour digits and M represents decimal minutedigits [-23:59, +23:59].[1]

%Z

Time zone name (no characters if no time zoneexists). Deprecated.[1]

%G

ISO 8601 year (similar to%Y but followsthe rules for the ISO 8601 calendar year).The year starts with the week that containsthe first Thursday of the calendar year.

%V

ISO 8601 week number (as a decimal number[01,53]). The first week of the year is theone that contains the first Thursday of theyear. Weeks start on Monday.

%%

A literal'%' character.

Notes:

  1. The%f format directive only applies tostrptime(),not tostrftime(). However, see alsodatetime.datetime.strptime() anddatetime.datetime.strftime() where the%f format directiveapplies to microseconds.

  2. When used with thestrptime() function, the%p directive only affectsthe output hour field if the%I directive is used to parse the hour.

  1. The range really is0 to61; value60 is valid intimestamps representingleap seconds and value61 is supportedfor historical reasons.

  2. When used with thestrptime() function,%U and%W are only used incalculations when the day of the week and the year are specified.

Here is an example, a format for dates compatible with that specified in theRFC 2822 Internet email standard.[1]

>>>fromtimeimportgmtime,strftime>>>strftime("%a,%d %b %Y %H:%M:%S +0000",gmtime())'Thu, 28 Jun 2001 14:17:15 +0000'

Additional directives may be supported on certain platforms, but only theones listed here have a meaning standardized by ANSI C. To see the full setof format codes supported on your platform, consult thestrftime(3)documentation.

On some platforms, an optional field width and precision specification canimmediately follow the initial'%' of a directive in the following order;this is also not portable. The field width is normally 2 except for%j whereit is 3.

time.strptime(string[,format])

Parse a string representing a time according to a format. The return valueis astruct_time as returned bygmtime() orlocaltime().

Theformat parameter uses the same directives as those used bystrftime(); it defaults to"%a%b%d%H:%M:%S%Y" which matches theformatting returned byctime(). Ifstring cannot be parsed accordingtoformat, or if it has excess data after parsing,ValueError israised. The default values used to fill in any missing data when moreaccurate values cannot be inferred are(1900,1,1,0,0,0,0,1,-1).Bothstring andformat must be strings.

For example:

>>>importtime>>>time.strptime("30 Nov 00","%d %b %y")time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0,                 tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

Support for the%Z directive is based on the values contained intznameand whetherdaylight is true. Because of this, it is platform-specificexcept for recognizing UTC and GMT which are always known (and are considered tobe non-daylight savings timezones).

Only the directives specified in the documentation are supported. Becausestrftime() is implemented per platform it can sometimes offer moredirectives than those listed. Butstrptime() is independent of any platformand thus does not necessarily support all directives available that are notdocumented as supported.

classtime.struct_time

The type of the time value sequence returned bygmtime(),localtime(), andstrptime(). It is an object with anamedtuple interface: values can be accessed by index and by attribute name. Thefollowing values are present:

Index

Attribute

Values

0

tm_year

(for example, 1993)

1

tm_mon

range [1, 12]

2

tm_mday

range [1, 31]

3

tm_hour

range [0, 23]

4

tm_min

range [0, 59]

5

tm_sec

range [0, 61]; seeNote (2) instrftime()

6

tm_wday

range [0, 6]; Monday is 0

7

tm_yday

range [1, 366]

8

tm_isdst

0, 1 or -1; see below

N/A

tm_zone

abbreviation of timezone name

N/A

tm_gmtoff

offset east of UTC in seconds

Note that unlike the C structure, the month value is a range of [1, 12], not[0, 11].

In calls tomktime(),tm_isdst may be set to 1 when daylightsavings time is in effect, and 0 when it is not. A value of -1 indicates thatthis is not known, and will usually result in the correct state being filled in.

When a tuple with an incorrect length is passed to a function expecting astruct_time, or having elements of the wrong type, aTypeError is raised.

time.time()float

Return the time in seconds since theepoch as a floating-pointnumber. The handling ofleap seconds is platform dependent.On Windows and most Unix systems, the leap seconds are not counted towardsthe time in seconds since theepoch. This is commonly referred to asUnixtime.

Note that even though the time is always returned as a floating-pointnumber, not all systems provide time with a better precision than 1 second.While this function normally returns non-decreasing values, it can return alower value than a previous call if the system clock has been set backbetween the two calls.

The number returned bytime() may be converted into a more commontime format (i.e. year, month, day, hour, etc…) in UTC by passing it togmtime() function or in local time by passing it to thelocaltime() function. In both cases astruct_time object is returned, from which the componentsof the calendar date may be accessed as attributes.

Clock:

  • On Windows, callGetSystemTimeAsFileTime().

  • Callclock_gettime(CLOCK_REALTIME) if available.

  • Otherwise, callgettimeofday().

Usetime_ns() to avoid the precision loss caused by thefloattype.

time.time_ns()int

Similar totime() but returns time as an integer number ofnanoseconds since theepoch.

Added in version 3.7.

time.thread_time()float

Return the value (in fractional seconds) of the sum of the system and userCPU time of the current thread. It does not include time elapsed duringsleep. It is thread-specific by definition. The reference point of thereturned value is undefined, so that only the difference between the resultsof two calls in the same thread is valid.

Usethread_time_ns() to avoid the precision loss caused by thefloat type.

Διαθεσιμότητα: Linux, Unix, Windows.

Unix systems supportingCLOCK_THREAD_CPUTIME_ID.

Added in version 3.7.

time.thread_time_ns()int

Similar tothread_time() but return time as nanoseconds.

Added in version 3.7.

time.tzset()

Reset the time conversion rules used by the library routines. The environmentvariableTZ specifies how this is done. It will also set the variablestzname (from theTZ environment variable),timezone (non-DSTseconds West of UTC),altzone (DST seconds west of UTC) anddaylight(to 0 if this timezone does not have any daylight saving time rules, or tononzero if there is a time, past, present or future when daylight saving timeapplies).

Σημείωση

Although in many cases, changing theTZ environment variable mayaffect the output of functions likelocaltime() without callingtzset(), this behavior should not be relied on.

TheTZ environment variable should contain no whitespace.

The standard format of theTZ environment variable is (whitespaceadded for clarity):

stdoffset[dst[offset[,start[/time],end[/time]]]]

Where the components are:

std anddst

Three or more alphanumerics giving the timezone abbreviations. These will bepropagated into time.tzname

offset

The offset has the form:±hh[:mm[:ss]]. This indicates the valueadded the local time to arrive at UTC. If preceded by a “-”, the timezoneis east of the Prime Meridian; otherwise, it is west. If no offset followsdst, summer time is assumed to be one hour ahead of standard time.

start[/time],end[/time]

Indicates when to change to and back from DST. The format of thestart and end dates are one of the following:

Jn

The Julian dayn (1 <=n <= 365). Leap days are not counted, so inall years February 28 is day 59 and March 1 is day 60.

n

The zero-based Julian day (0 <=n <= 365). Leap days are counted, andit is possible to refer to February 29.

Mm.n.d

Thed’th day (0 <=d <= 6) of weekn of monthm of the year (1<=n <= 5, 1 <=m <= 12, where week 5 means «the lastd day inmonthm» which may occur in either the fourth or the fifthweek). Week 1 is the first week in which thed’th day occurs. Dayzero is a Sunday.

time has the same format asoffset except that no leading sign(“-” or “+”) is allowed. The default, if time is not given, is 02:00:00.

>>>os.environ['TZ']='EST+05EDT,M4.1.0,M10.5.0'>>>time.tzset()>>>time.strftime('%X%x %Z')'02:07:36 05/08/03 EDT'>>>os.environ['TZ']='AEST-10AEDT-11,M10.5.0,M3.5.0'>>>time.tzset()>>>time.strftime('%X%x %Z')'16:08:12 05/08/03 AEST'

On many Unix systems (including *BSD, Linux, Solaris, and Darwin), it is moreconvenient to use the system’s zoneinfo (tzfile(5)) database tospecify the timezone rules. To do this, set theTZ environmentvariable to the path of the required timezone datafile, relative to the root ofthe systems “zoneinfo” timezone database, usually located at/usr/share/zoneinfo. For example,'US/Eastern','Australia/Melbourne','Egypt' or'Europe/Amsterdam'.

>>>os.environ['TZ']='US/Eastern'>>>time.tzset()>>>time.tzname('EST', 'EDT')>>>os.environ['TZ']='Egypt'>>>time.tzset()>>>time.tzname('EET', 'EEST')

Clock ID Constants

These constants are used as parameters forclock_getres() andclock_gettime().

time.CLOCK_BOOTTIME

Identical toCLOCK_MONOTONIC, except it also includes any time thatthe system is suspended.

This allows applications to get a suspend-aware monotonic clock withouthaving to deal with the complications ofCLOCK_REALTIME, which mayhave discontinuities if the time is changed usingsettimeofday() orsimilar.

Διαθεσιμότητα: Linux >= 2.6.39.

Added in version 3.7.

time.CLOCK_HIGHRES

The Solaris OS has aCLOCK_HIGHRES timer that attempts to use an optimalhardware source, and may give close to nanosecond resolution.CLOCK_HIGHRES is the nonadjustable, high-resolution clock.

Added in version 3.3.

time.CLOCK_MONOTONIC

Clock that cannot be set and represents monotonic time since some unspecifiedstarting point.

Added in version 3.3.

time.CLOCK_MONOTONIC_RAW

Similar toCLOCK_MONOTONIC, but provides access to a rawhardware-based time that is not subject to NTP adjustments.

Διαθεσιμότητα: Linux >= 2.6.28, macOS >= 10.12.

Added in version 3.3.

time.CLOCK_MONOTONIC_RAW_APPROX

Similar toCLOCK_MONOTONIC_RAW, but reads a value cached bythe system at context switch and hence has less accuracy.

Added in version 3.13.

time.CLOCK_PROCESS_CPUTIME_ID

High-resolution per-process timer from the CPU.

Added in version 3.3.

time.CLOCK_PROF

High-resolution per-process timer from the CPU.

Διαθεσιμότητα: FreeBSD, NetBSD >= 7, OpenBSD.

Added in version 3.7.

time.CLOCK_TAI

International Atomic Time

The system must have a current leap second table in order for this to givethe correct answer. PTP or NTP software can maintain a leap second table.

Added in version 3.9.

time.CLOCK_THREAD_CPUTIME_ID

Thread-specific CPU-time clock.

Added in version 3.3.

time.CLOCK_UPTIME

Time whose absolute value is the time the system has been running and notsuspended, providing accurate uptime measurement, both absolute andinterval.

Διαθεσιμότητα: FreeBSD, OpenBSD >= 5.5.

Added in version 3.7.

time.CLOCK_UPTIME_RAW

Clock that increments monotonically, tracking the time since an arbitrarypoint, unaffected by frequency or time adjustments and not incremented whilethe system is asleep.

Added in version 3.8.

time.CLOCK_UPTIME_RAW_APPROX

LikeCLOCK_UPTIME_RAW, but the value is cached by the systemat context switches and therefore has less accuracy.

Added in version 3.13.

The following constant is the only parameter that can be sent toclock_settime().

time.CLOCK_REALTIME

System-wide real-time clock. Setting this clock requires appropriateprivileges.

Added in version 3.3.

Timezone Constants

time.altzone

The offset of the local DST timezone, in seconds west of UTC, if one is defined.This is negative if the local DST timezone is east of UTC (as in Western Europe,including the UK). Only use this ifdaylight is nonzero. See note below.

time.daylight

Nonzero if a DST timezone is defined. See note below.

time.timezone

The offset of the local (non-DST) timezone, in seconds west of UTC (negative inmost of Western Europe, positive in the US, zero in the UK). See note below.

time.tzname

A tuple of two strings: the first is the name of the local non-DST timezone, thesecond is the name of the local DST timezone. If no DST timezone is defined,the second string should not be used. See note below.

Σημείωση

For the above Timezone constants (altzone,daylight,timezone,andtzname), the value is determined by the timezone rules in effectat module load time or the last timetzset() is called and may be incorrectfor times in the past. It is recommended to use thetm_gmtoff andtm_zone results fromlocaltime() to obtain timezone information.

Δείτε επίσης

Moduledatetime

More object-oriented interface to dates and times.

Modulelocale

Internationalization services. The locale setting affects the interpretationof many format specifiers instrftime() andstrptime().

Modulecalendar

General calendar-related functions.timegm() is theinverse ofgmtime() from this module.

Footnotes

[1](1,2,3)

The use of%Z is now deprecated, but the%z escape that expands to thepreferred hour/minute offset is not supported by all ANSI C libraries. Also, astrict reading of the original 1982RFC 822 standard calls for a two-digityear (%y rather than%Y), but practice moved to 4-digit years long before theyear 2000. After that,RFC 822 became obsolete and the 4-digit year hasbeen first recommended byRFC 1123 and then mandated byRFC 2822.