help(time)之后可以知道time有2種時間表示形式:
1、時間戳表示法:即以整型或浮點型表示的是一個以秒為單位的時間間隔。這個時間的基礎值是從1970年的1月1號零點開始算起。
2、元組格式表示法:即一種Python的數據結構表示。這個元組有9個整型內容(不能少),分別表示不同的時間含義。
常用功能:
名詞解釋:
UTC(Coordinated?Universal?Time,世界協調時)亦即格林威治天文時間,世界標準時間。在中國為UTC+8。
DST(Daylight?Saving?Time)即夏令時。是一種為節約能源而人為規定地方時間的制度,一般在天亮早的夏季人為將時間提前一小時。
包含的變量:
timezone?--當地時間與標準UTC時間的誤差,以秒計
altzone?--當地夏令時時間與標準UTC時間的誤差,以秒計
daylight?--當地時間是否反映夏令時,默認為0
zname?--關于(標準時區名稱,夏令時時區名稱)的元組
1、time.localtime([secs]):將一個時間戳轉換為當前時區的struct_time。secs參數未提供,則以當前時間為準。
2、time.gmtime([secs]):和localtime()方法類似,gmtime()方法是將一個時間戳轉換為UTC時區(0時區)的struct_time。
3、time.time():返回當前時間的時間戳
4、time.mktime(t):將一個struct_time轉化為時間戳
5、time.sleep(secs):線程推遲指定的時間運行。單位為秒
6、time.clock():這個需要注意,在不同的系統上含義不同。在UNIX系統上,它返回的是“進程時間”,它是用秒表示的浮點數(時間戳)。而在WINDOWS中,第一次調用,返回的是進程運行的實際時間。而第二次之后的調用是自第一次調用以后到現在的運行時間。(實際上是以WIN32上QueryPerformanceCounter()為基礎,它比毫秒表示更為精確)
7、time.asctime([t]):把一個表示時間的元組或者struct_time表示為這種形式:'Sun Jun 20 23:21:05 1993'。如果沒有參數,將會將time.localtime()作為參數傳入
8、time.ctime([secs]):把一個時間戳(按秒計算的浮點數)轉化為time.asctime()的形式。如果參數未給或者為None的時候,將會默認time.time()即當前時間戳為參數。它的作用相當于time.asctime(time.localtime(secs))。
9、time.strftime(format[,t]):把一個代表時間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。如果元組中任何一個元素越界,ValueError的錯誤將會被拋出。
10、time.strptime(string[,format]):把一個格式化時間字符串轉化為struct_time。實際上它和strftime()是逆操作。在這個函數中,format默認為:"%a %b %d %H:%M:%S %Y"。
總結:根據之前描述,在Python中共有三種表達方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串。它們之間的轉化如圖所示:
格式化字符串常用格式:
備注:
“%p”只有與“%I”配合使用才有效果。
文檔中強調確實是0 - 61,而不是59,閏年秒占兩秒(汗一個)。
當使用strptime()函數時,只有當在這年中的周數和天數被確定的時候%U和%W才會被計算。