time
— 時間訪問和轉換¶
此模組提供了各種與時間相關的函式。有關相關功能,另請參閱 datetime
和 calendar
模組。
儘管此模組始終可用,但並非所有函式都可以在所有平臺上使用。此模組中定義的大多數函式都呼叫具有相同名稱的平臺 C 庫函式。有時查閱平臺文件可能會有所幫助,因為這些函式的語義在不同平臺之間有所不同。
有必要解釋一些術語和約定。
紀元是時間開始的點,是
time.gmtime(0)
的返回值。它在所有平臺上都是 1970 年 1 月 1 日 00:00:00 (UTC)。
術語自紀元以來的秒數指的是自紀元以來經過的總秒數,通常不包括閏秒。在所有符合 POSIX 的平臺上,閏秒都將從該總數中排除。
此模組中的函式可能無法處理 紀元之前或遙遠未來的日期和時間。未來的截止點由 C 庫決定;對於 32 位系統,它通常在 2038 年。
當給定
%y
格式程式碼時,函式strptime()
可以解析 2 位數的年份。當解析 2 位數的年份時,它們會根據 POSIX 和 ISO C 標準進行轉換:值 69-99 對映到 1969-1999,值 0-68 對映到 2000-2068。
UTC 是協調世界時(以前稱為格林威治標準時間或 GMT)。首字母縮略詞 UTC 不是錯誤,而是英語和法語之間的折衷。
DST 是夏令時,是一年中部分時間對時區的調整(通常為一個小時)。DST 規則是神奇的(由當地法律決定),並且可能每年都會變化。C 庫有一個包含本地規則的表(通常從系統檔案中讀取以提高靈活性),並且是這方面唯一真正智慧的來源。
各種即時函式的精度可能低於其值或引數表達的單位所暗示的精度。例如,在大多數 Unix 系統上,時鐘每秒只“滴答” 50 或 100 次。
另一方面,
time()
和sleep()
的精度優於它們的 Unix 等效項:時間表示為浮點數,time()
返回最準確的可用時間(在可用時使用 Unixgettimeofday()
),並且sleep()
將接受具有非零分數的時間(在可用時使用 Unixselect()
來實現此目的)。由
gmtime()
、localtime()
和strptime()
返回,並由asctime()
、mktime()
和strftime()
接受的時間值是 9 個整數的序列。gmtime()
、localtime()
和strptime()
的返回值還為各個欄位提供了屬性名稱。有關這些物件的描述,請參閱
struct_time
。在 3.3 版本中更改:
struct_time
型別已擴充套件為在平臺支援相應的struct tm
成員時提供tm_gmtoff
和tm_zone
屬性。在 3.6 版本中更改: 現在在所有平臺上都可以使用
struct_time
屬性tm_gmtoff
和tm_zone
。使用以下函式在時間表示形式之間進行轉換
從
到
使用
自紀元以來的秒數
UTC 中的
struct_time
自紀元以來的秒數
當地時間中的
struct_time
UTC 中的
struct_time
自紀元以來的秒數
當地時間中的
struct_time
自紀元以來的秒數
函式¶
- time.asctime([t])¶
將由
gmtime()
或localtime()
返回的表示時間的元組或struct_time
轉換為以下格式的字串:'Sun Jun 20 23:21:05 1993'
。日期欄位為兩個字元長,如果日期為個位數,則用空格填充,例如:'Wed Jun 9 04:26:40 1993'
。如果未提供 t,則使用由
localtime()
返回的當前時間。asctime()
不使用區域設定資訊。注意
與同名的 C 函式不同,
asctime()
不會新增尾隨換行符。
- time.pthread_getcpuclockid(thread_id)¶
返回指定 thread_id 的執行緒特定的 CPU 時間時鐘的 clk_id。
使用
threading.get_ident()
或ident
屬性的threading.Thread
物件,以獲取適合 thread_id 的值。警告
傳遞無效或過期的 thread_id 可能會導致未定義的行為,例如分段錯誤。
可用性:Unix
更多資訊請參閱 pthread_getcpuclockid(3) 的手冊頁。
3.7 版本新增。
- time.clock_getres(clk_id)¶
返回指定時鐘 *clk_id* 的解析度(精度)。有關 *clk_id* 的可接受值列表,請參閱時鐘 ID 常量。
可用性:Unix。
3.3 版本新增。
- time.clock_gettime(clk_id) float ¶
返回指定時鐘 *clk_id* 的時間。有關 *clk_id* 的可接受值列表,請參閱時鐘 ID 常量。
使用
clock_gettime_ns()
可以避免由float
型別造成的精度損失。可用性:Unix。
3.3 版本新增。
- time.clock_gettime_ns(clk_id) int ¶
與
clock_gettime()
類似,但返回以納秒為單位的時間。可用性:Unix。
3.7 版本新增。
- time.clock_settime(clk_id, time: float)¶
設定指定時鐘 *clk_id* 的時間。目前,*clk_id* 僅接受
CLOCK_REALTIME
這一個值。使用
clock_settime_ns()
可以避免由float
型別造成的精度損失。可用性:Unix,非 Android,非 iOS。
3.3 版本新增。
- time.clock_settime_ns(clk_id, time: int)¶
與
clock_settime()
類似,但使用納秒設定時間。可用性:Unix,非 Android,非 iOS。
3.7 版本新增。
- time.ctime([secs])¶
將自 紀元 以來以秒錶示的時間轉換為一個字串,格式為:
'Sun Jun 20 23:21:05 1993'
,表示本地時間。日欄位為兩個字元長,如果日為個位數,則用空格填充,例如:'Wed Jun 9 04:26:40 1993'
。如果未提供 *secs* 或
None
,則使用time()
返回的當前時間。ctime(secs)
等價於asctime(localtime(secs))
。ctime()
不使用區域資訊。
- time.get_clock_info(name)¶
以名稱空間物件的形式獲取指定時鐘的資訊。支援的時鐘名稱和讀取其值的相應函式有:
'monotonic'
:time.monotonic()
'perf_counter'
:time.perf_counter()
'process_time'
:time.process_time()
'thread_time'
:time.thread_time()
'time'
:time.time()
結果具有以下屬性
adjustable: 如果時鐘可以自動更改(例如,透過 NTP 守護程式)或由系統管理員手動更改,則為
True
,否則為False
implementation: 用於獲取時鐘值的底層 C 函式的名稱。有關可能的值,請參閱 時鐘 ID 常量。
monotonic: 如果時鐘不會倒退,則為
True
,否則為False
resolution: 時鐘的解析度,以秒為單位 (
float
)
3.3 版本新增。
- time.gmtime([secs])¶
將自 紀元 以來以秒錶示的時間轉換為 UTC 時間的
struct_time
,其中 dst 標誌始終為零。如果未提供 *secs* 或None
,則使用time()
返回的當前時間。忽略秒的小數部分。有關struct_time
物件的描述,請參見上文。有關此函式的反函式,請參見calendar.timegm()
。
- time.localtime([secs])¶
與
gmtime()
類似,但轉換為本地時間。如果未提供 *secs* 或None
,則使用time()
返回的當前時間。當 DST 應用於給定時間時,dst 標誌設定為1
。如果時間戳超出平臺 C
localtime()
或gmtime()
函式支援的值範圍,localtime()
可能會引發OverflowError
,並且如果localtime()
或gmtime()
失敗,則可能會引發OSError
。通常,這會被限制在 1970 年到 2038 年之間。
- time.mktime(t)¶
這是
localtime()
的反函式。它的引數是struct_time
或完整的 9 元組(因為需要 dst 標誌;如果 dst 標誌未知,則使用-1
),它以本地時間(而不是 UTC)表示時間。它返回一個浮點數,以便與time()
相容。如果輸入值不能表示為有效時間,則會引發OverflowError
或ValueError
(這取決於 Python 或底層 C 庫是否捕獲了無效值)。它可以生成時間的最早日期取決於平臺。
- time.monotonic() float ¶
返回單調時鐘的值(以秒為單位,可為小數),即不會倒退的時鐘。該時鐘不受系統時鐘更新的影響。返回值的參考點未定義,因此只有兩次呼叫的結果之差才有效。
時鐘
在 Windows 上,呼叫
QueryPerformanceCounter()
和QueryPerformanceFrequency()
。在 macOS 上,呼叫
mach_absolute_time()
和mach_timebase_info()
。在 HP-UX 上,呼叫
gethrtime()
。如果可用,則呼叫
clock_gettime(CLOCK_HIGHRES)
。否則,呼叫
clock_gettime(CLOCK_MONOTONIC)
。
使用
monotonic_ns()
可以避免float
型別造成的精度損失。3.3 版本新增。
在 3.5 版本中更改: 該函式現在始終可用且始終是系統級的。
在 3.10 版本中更改: 在 macOS 上,該函式現在是系統級的。
- time.monotonic_ns() int ¶
類似於
monotonic()
,但返回以納秒為單位的時間。3.7 版本新增。
- time.perf_counter() float ¶
返回效能計數器的值(以秒為單位,可為小數),即具有最高可用解析度以測量短時間的時鐘。它包括睡眠期間經過的時間,並且是系統級的。返回值的參考點未定義,因此只有兩次呼叫的結果之差才有效。
CPython 實現細節: 在 CPython 上,使用與
time.monotonic()
相同的時鐘,並且是單調時鐘,即不會倒退的時鐘。使用
perf_counter_ns()
可以避免float
型別造成的精度損失。3.3 版本新增。
在 3.10 版本中更改: 在 Windows 上,該函式現在是系統級的。
在 3.13 版本中更改: 使用與
time.monotonic()
相同的時鐘。
- time.perf_counter_ns() int ¶
類似於
perf_counter()
,但返回以納秒為單位的時間。3.7 版本新增。
- time.process_time() float ¶
返回當前程序的系統和使用者 CPU 時間總和的值(以秒為單位,可為小數)。它不包括睡眠期間經過的時間。按定義,它是程序範圍的。返回值的參考點未定義,因此只有兩次呼叫的結果之差才有效。
使用
process_time_ns()
可以避免float
型別造成的精度損失。3.3 版本新增。
- time.process_time_ns() int ¶
類似於
process_time()
,但返回以納秒為單位的時間。3.7 版本新增。
- time.sleep(secs)¶
使呼叫執行緒暫停執行給定的秒數。該引數可以是浮點數,以指示更精確的睡眠時間。
如果睡眠被訊號中斷,並且訊號處理程式沒有引發異常,則會使用重新計算的超時時間重新開始睡眠。
由於系統中其他活動的排程,暫停時間可能比請求的時間長任意時長。
在 Windows 上,如果 secs 為零,則執行緒會將其剩餘的時間片讓給任何其他準備執行的執行緒。如果沒有其他執行緒準備執行,則該函式會立即返回,並且該執行緒繼續執行。在 Windows 8.1 及更高版本上,該實現使用 高解析度計時器,它提供的解析度為 100 納秒。如果 secs 為零,則使用
Sleep(0)
。Unix 實現
如果可用,則使用
clock_nanosleep()
(解析度:1 納秒);或者,如果可用,則使用
nanosleep()
(解析度:1 納秒);或者,使用
select()
(解析度:1 微秒)。
引發帶有引數
secs
的 審計事件time.sleep
。在 3.5 版本中更改: 該函式現在至少休眠 secs,即使睡眠被訊號中斷,除非訊號處理程式引發異常(有關原因,請參閱 PEP 475)。
在 3.11 版本中更改: 在 Unix 上,如果可用,則現在使用
clock_nanosleep()
和nanosleep()
函式。在 Windows 上,現在使用可等待計時器。在 3.13 版本中更改: 引發審計事件。
- time.strftime(format[, t])¶
將由
gmtime()
或localtime()
返回的表示時間的元組或struct_time
轉換為由 format 引數指定的字串。如果未提供 t,則使用localtime()
返回的當前時間。format 必須是字串。如果 t 中的任何欄位超出允許範圍,則會引發ValueError
。0 是時間元組中任何位置的合法引數;如果它通常是非法的,則該值會被強制為正確的值。
以下指令可以嵌入到 format 字串中。它們在沒有可選欄位寬度和精度規範的情況下顯示,並在
strftime()
結果中被替換為指示的字元指令
含義
備註
%a
區域設定的縮寫工作日名稱。
%A
區域設定的完整工作日名稱。
%b
區域設定的縮寫月份名稱。
%B
區域設定的完整月份名稱。
%c
區域設定的適當日期和時間表示形式。
%d
月份中的日期,表示為十進位制數 [01,31]。
%f
- 微秒,表示為十進位制數
[000000,999999].
(1)
%H
小時(24 小時制),以十進位制數表示 [00,23]。
%I
小時(12 小時制),以十進位制數表示 [01,12]。
%j
一年中的第幾天,以十進位制數表示 [001,366]。
%m
月份,以十進位制數表示 [01,12]。
%M
分鐘,以十進位制數表示 [00,59]。
%p
本地環境對應的 AM 或 PM。
(2)
%S
秒,以十進位制數表示 [00,61]。
(3)
%U
一年中的第幾周(以星期日為一週的第一天),以十進位制數表示 [00,53]。新年中第一個星期日之前的所有天數都被認為是第 0 周。
(4)
%u
星期幾(星期一為 1,星期日為 7),以十進位制數表示 [1, 7]。
%w
星期幾,以十進位制數表示 [0(星期日), 6]。
%W
一年中的第幾周(以星期一為一週的第一天),以十進位制數表示 [00,53]。新年中第一個星期一之前的所有天數都被認為是第 0 周。
(4)
%x
本地環境的日期表示。
%X
本地環境的時間表示。
%y
不帶世紀的年份,以十進位制數表示 [00,99]。
%Y
帶世紀的年份,以十進位制數表示。
%z
時區偏移量,表示與 UTC/GMT 的正或負的時間差,格式為 +HHMM 或 -HHMM,其中 H 表示十進位制小時數位,M 表示十進位制分鐘數位 [-23:59, +23:59]。 [1]
%Z
時區名稱(如果不存在時區,則無字元)。已棄用。 [1]
%G
ISO 8601 年份(類似於
%Y
,但遵循 ISO 8601 日曆年的規則)。年份從包含日曆年第一個星期四的那個星期開始。%V
ISO 8601 週數(以十進位制數表示 [01,53])。一年中的第一週是包含該年第一個星期四的那一週。周從星期一開始。
%%
一個字面上的
'%'
字元。備註
%f
格式指令僅適用於strptime()
,不適用於strftime()
。但是,另請參閱datetime.datetime.strptime()
和datetime.datetime.strftime()
,其中%f
格式指令 適用於微秒。當與
strptime()
函式一起使用時,如果使用%I
指令來解析小時,則%p
指令僅影響輸出的小時欄位。
範圍實際上是
0
到61
;值60
在表示 閏秒 的時間戳中有效,並且出於歷史原因支援值61
。當與
strptime()
函式一起使用時,僅當指定了星期幾和年份時,才會在計算中使用%U
和%W
。
這是一個示例,與 RFC 2822 Internet 電子郵件標準中指定的日期格式相容。 [1]
>>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) 'Thu, 28 Jun 2001 14:17:15 +0000'
某些平臺上可能支援其他指令,但只有此處列出的指令具有 ANSI C 標準化的含義。要檢視您的平臺上支援的完整格式程式碼集,請查閱 strftime(3) 文件。
在某些平臺上,可選的欄位寬度和精度規範可以緊跟在指令的初始
'%'
之後,順序如下;這也是不可移植的。欄位寬度通常為 2,但%j
為 3。
- time.strptime(string[, format])¶
根據格式解析表示時間的字串。返回值是由
gmtime()
或localtime()
返回的struct_time
。format 引數使用與
strftime()
使用的相同的指令;它預設為"%a %b %d %H:%M:%S %Y"
,這與ctime()
返回的格式匹配。如果無法根據 format 解析 string,或者解析後有額外的資料,則會引發ValueError
。當無法推斷出更準確的值時,用於填充任何缺失資料的預設值為(1900, 1, 1, 0, 0, 0, 0, 1, -1)
。string 和 format 都必須是字串。例如
>>> import time >>> 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)
對
%Z
指令的支援基於tzname
中包含的值以及daylight
是否為 true。因此,它是特定於平臺的,但識別 UTC 和 GMT 除外,它們始終是已知的(並且被認為是無夏令時的時區)。僅支援文件中指定的指令。由於
strftime()
是在每個平臺上實現的,因此有時它會提供比列出的更多的指令。但是strptime()
獨立於任何平臺,因此不一定支援所有未記錄為支援的可用指令。
- class time.struct_time¶
由
gmtime()
、localtime()
和strptime()
返回的時間值序列的型別。它是一個具有 命名元組 介面的物件:可以透過索引和屬性名稱訪問值。存在以下值索引
屬性
值
0
- tm_year¶
(例如,1993)
1
- tm_mon¶
範圍 [1, 12]
2
- tm_mday¶
範圍 [1, 31]
3
- tm_hour¶
範圍 [0, 23]
4
- tm_min¶
範圍 [0, 59]
5
- tm_sec¶
範圍 [0, 61];請參閱 Note (2) 中的
strftime()
6
- tm_wday¶
範圍 [0, 6];星期一為 0
7
- tm_yday¶
範圍 [1, 366]
8
- tm_isdst¶
0、1 或 -1;見下文
N/A
- tm_zone¶
時區名稱的縮寫
N/A
- tm_gmtoff¶
以秒為單位的 UTC 以東偏移量
請注意,與 C 結構不同,月份值的範圍是 [1, 12],而不是 [0, 11]。
在呼叫
mktime()
時,當夏令時生效時,tm_isdst
可以設定為 1,當夏令時未生效時設定為 0。 值 -1 表示未知,通常會導致填充正確的狀態。當將長度不正確的元組傳遞給需要
struct_time
或具有錯誤型別元素的函式時,會引發TypeError
。
- time.time() float ¶
返回自 紀元 以來的時間(以秒為單位),結果為浮點數。 對閏秒的處理取決於平臺。 在 Windows 和大多數 Unix 系統上,閏秒不計入自紀元以來的時間(以秒為單位)。 這通常被稱為 Unix 時間。
請注意,即使時間始終以浮點數返回,並非所有系統都提供優於 1 秒的精度。 雖然此函式通常返回非遞減的值,但如果在兩次呼叫之間系統時鐘被調回,則它可能會返回比上一次呼叫更低的值。
透過將
time()
返回的數字傳遞給gmtime()
函式可以將其轉換為 UTC 中更常見的時間格式(即年、月、日、小時等),或者透過將其傳遞給localtime()
函式可以將其轉換為本地時間。在這兩種情況下,都會返回一個struct_time
物件,可以從該物件以屬性的形式訪問日曆日期的組成部分。時鐘
在 Windows 上,呼叫
GetSystemTimeAsFileTime()
。如果可用,呼叫
clock_gettime(CLOCK_REALTIME)
。否則,呼叫
gettimeofday()
。
- time.thread_time() float ¶
返回當前執行緒的系統和使用者 CPU 時間的總和的值(以秒的分數表示)。 它不包括睡眠期間經過的時間。 根據定義,它是執行緒特定的。 返回值的參考點未定義,因此只有同一執行緒中兩次呼叫的結果之間的差異才是有效的。
使用
thread_time_ns()
以避免由float
型別引起的精度損失。可用性:Linux、Unix、Windows。
支援
CLOCK_THREAD_CPUTIME_ID
的 Unix 系統。3.7 版本新增。
- time.thread_time_ns() int ¶
與
thread_time()
類似,但返回以納秒為單位的時間。3.7 版本新增。
- time.tzset()¶
重置庫例程使用的時間轉換規則。 環境變數
TZ
指定如何執行此操作。 它還會設定變數tzname
(來自TZ
環境變數)、timezone
(UTC 以西的非 DST 秒數)、altzone
(UTC 以西的 DST 秒數)和daylight
(如果此時區沒有任何夏令時規則,則為 0;如果過去、現在或將來有夏令時應用,則為非零)。可用性:Unix。
TZ
環境變數的標準格式為(為了清晰起見添加了空格)std offset [dst [offset [,start[/time], end[/time]]]]
其中元件是
std
和dst
三個或更多字母數字字元,給出時區縮寫。 這些將被傳播到 time.tzname
偏移量
偏移量的形式為:
± hh[:mm[:ss]]
。 這表示新增到當地時間以到達 UTC 的值。 如果前面有“ - ”,則時區位於本初子午線的東部; 否則,它在西部。 如果 dst 後面沒有偏移量,則假定夏令時比標準時間提前一小時。start[/time], end[/time]
指示何時切換到夏令時以及何時從夏令時切換回來。 開始和結束日期的格式是以下之一
Jn
儒略日 n (1 <= n <= 365)。 不計算閏日,因此在所有年份中,2 月 28 日都是第 59 天,3 月 1 日是第 60 天。
n
從零開始的儒略日 (0 <= n <= 365)。 計算閏日,並且可以參考 2 月 29 日。
Mm.n.d
一年中第 m 個月第 n 周的第 d 天 (0 <= d <= 6) (1 <= n <= 5, 1 <= m <= 12,其中第 5 周表示“第 m 個月的最後一個 d 日”,這可能發生在第四周或第五週)。 第 1 周是第 d 天發生的第一週。 零日是星期日。
time
的格式與offset
相同,只是不允許有前導符號(“ - ”或“ + ”)。 如果未給出時間,則預設時間為 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'
在許多 Unix 系統(包括 *BSD、Linux、Solaris 和 Darwin)上,使用系統的 zoneinfo (tzfile(5)) 資料庫來指定時區規則更加方便。 要執行此操作,請將
TZ
環境變數設定為所需時區資料檔案的路徑,該路徑相對於系統的“zoneinfo”時區資料庫的根目錄,通常位於/usr/share/zoneinfo
。 例如,'US/Eastern'
、'Australia/Melbourne'
、'Egypt'
或'Europe/Amsterdam'
。>>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')
時鐘 ID 常量¶
這些常量用作 clock_getres()
和 clock_gettime()
的引數。
- time.CLOCK_BOOTTIME¶
與
CLOCK_MONOTONIC
相同,只是它還包括系統掛起的任何時間。這允許應用程式獲取感知掛起的單調時鐘,而無需處理如果使用
settimeofday()
或類似方法更改時間時可能會出現不連續的CLOCK_REALTIME
的複雜性。可用性:Linux >= 2.6.39。
3.7 版本新增。
- time.CLOCK_HIGHRES¶
Solaris 作業系統有一個
CLOCK_HIGHRES
計時器,它嘗試使用最佳硬體源,並且可以提供接近納秒的解析度。CLOCK_HIGHRES
是不可調整的高解析度時鐘。可用性:Solaris。
3.3 版本新增。
- time.CLOCK_MONOTONIC_RAW¶
類似於
CLOCK_MONOTONIC
,但提供對基於原始硬體的時間的訪問,該時間不受 NTP 調整的影響。可用性:Linux >= 2.6.28,macOS >= 10.12。
3.3 版本新增。
- time.CLOCK_MONOTONIC_RAW_APPROX¶
類似於
CLOCK_MONOTONIC_RAW
,但讀取系統在上下文切換時快取的值,因此精度較低。可用性:macOS >= 10.12。
3.13 版本新增。
- time.CLOCK_UPTIME¶
該時間的絕對值是系統執行且未掛起的時間,提供精確的正常執行時間測量,包括絕對時間和間隔時間。
可用性:FreeBSD,OpenBSD >= 5.5。
3.7 版本新增。
- time.CLOCK_UPTIME_RAW_APPROX¶
類似於
CLOCK_UPTIME_RAW
,但該值由系統在上下文切換時快取,因此精度較低。可用性:macOS >= 10.12。
3.13 版本新增。
以下常量是唯一可以傳送到 clock_settime()
的引數。
時區常量¶
- time.altzone¶
本地夏令時時區與 UTC 的偏移量(以秒為單位,向西為正)。如果本地夏令時時區位於 UTC 以東(如西歐,包括英國),則此值為負。僅當
daylight
為非零時才使用此值。請參見下面的註釋。
- time.daylight¶
如果定義了夏令時時區,則為非零值。請參見下面的註釋。
- time.timezone¶
本地(非夏令時)時區與 UTC 的偏移量,以秒為單位,向西為正(在西歐大部分地區為負,在美國為正,在英國為零)。請參見下面的註釋。
- time.tzname¶
一個包含兩個字串的元組:第一個是本地非夏令時時區的名稱,第二個是本地夏令時時區的名稱。如果未定義夏令時時區,則不應使用第二個字串。請參見下面的註釋。
注意
對於以上時區常量(altzone
、daylight
、timezone
和 tzname
),值由模組載入時或上次呼叫 tzset()
時有效的時區規則確定,並且對於過去的時間可能不正確。建議使用 tm_gmtoff
和 tm_zone
從 localtime()
獲取時區資訊的結果。
另請參閱
- 模組
datetime
日期和時間的更面向物件的介面。
- 模組
locale
國際化服務。區域設定會影響
strftime()
和strptime()
中許多格式說明符的解釋。- 模組
calendar
腳註