Page cover

time 【時間】

struct_time


gmtime()localtime()strptime() 返回的時間值序列的類型。 它是一個 named tuple interface 物件:可以透過索引和屬性名稱訪問值。存在以下值:

Index
Attribute
Values

0

tm_year

any value

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]60 在表示閏秒的時間戳中有效。由於向後兼容,所以保留 61

6

tm_wday

range [0, 6]

7

tm_yday

range [1, 366]

8

tm_isdst

0, 1 or -1; -1 表示由 library 自動確定 DST (Daylight Saving Time)。

N/A

tm_zone

時區名稱的縮寫

N/A

tm_gmtoff

UTC offsets (seconds)

當長度不正確的 Tuple 或錯誤類型,傳遞給需要 struct_time 的函數時,會引發 TypeError。

asctime(), ctime()


asctime([t])struct_time 物件,轉換為表示本地的時間和日期。 如果您沒有提供 t,它將使用 localtime() 返回的本地的當前時間。

ctime([secs]) 將 Epoch ,轉換為當前的時間和日期。如果未提供 secssecs=None ,則使用 time() 返回的當前時間。 ctime(secs) 相當於 asctime(localtime(secs))

紀元 (Epoch)。

表示自 1970 年 1 月 1 日 00:00:00 UTC 以來經過的總秒數 (浮點數)。這是許多系統中存儲時間的常用方法,因為它很簡單 (只是一個數字)並且可以高精度地表示任何日期和時間。

浮點數 (float)。

float 所能表示的最大值約為 1.8e308,最小值約為 2.2e-308。因此,Epoch 的最大值將約為 1.8e308 秒,即約 584 年 (即西元2554年)。

執行結果:

執行結果:

gmtime(), localtime(), mktime()


gmtime([secs]) 將 Epoch ,轉換為 UTC (Coordinated Universal Time) 格式的 struct_time 物件。如果未提供 secs,它將返回 UTC 時間。

localtime([secs])gmtime() 類似,但轉換為本地時間。

mktime(t)localtime() 的反函數。參數 t 是 struct_time 或完整的 9-Tuple。它返回一個浮點數,以與 time() 兼容。

執行結果:

執行結果:

strftime(), strptime()


strftime(format[, t])struct_time 物件轉換為 format 指定的 String。 format 詳見:strftime()。 如果未提供 t,則使用 localtime() 返回的當前時間。 format 必須是字符串。

strptime(string[, format]) 根據 format 解析表示時間的 string,返回 struct_time 物件。

strftime() 是按照作業系統實現的,因此有時可以提供比原始文檔更多的指令。 但 strptime() 是獨立作業系統的,因此不一定支援所有未記錄的可用指令。

time module 的 struct_time 不夠複雜,無法計算不同年份的日期之間的天數,為此我們可以使用使用 datetime module。

執行結果:

Last updated

Was this helpful?