python3 time模組解釋
- 2020 年 1 月 10 日
- 筆記
time()
time() 模組繼承自 Object 類,datetime() 模組繼承自 Object 下面的 Date() 模組。
time 提供的功能更加接近於作業系統層面,其所能表述的日期範圍被限定在 1970 – 2038 之間,如果要處理更廣的日期,那需要使用 datetime 模組。
time() 內置函數
time.time() 返回當前時間的時間戳 secs
print(time.time()) 1508977857.868619
時間戳可用於 time() 模組的其他內置函數,比如 localtime,ctime,gmtime
time.localtime([secs])
接收時間戳,返回指定時間戳的
當地時間
的時間元組,參數留空,返回當地時間
的當前時間元組
import time t = time.time() # 獲得時間戳 a = time.localtime(t) # 獲得當地時間的時間元組 b = time.gmtime(t) # 獲得格林威治時間的時間元組
time.gmtime()
接收時間戳,返回格林威治天文時間下的時間元組。
import time t = time.time() # 獲得時間戳 a = time.localtime(t) # 獲得當地時間的時間元組 b = time.gmtime(t) # 獲得格林威治時間的時間元組
注意比較 localtime() 和 gmtime() 函數返回結果的區別,兩者的差別,就是時區的差別時差。
localtime() 和 gmtime() 都是接收 time.time() 返回的時間戳,返回結果都是一個時間元組。 而接收時間元組的函數有 asctime,strftime,
time.asctime([tupletime])
接受時間元組並返回一個可讀的形式為」Tue Dec 11 18:07:14 2008」(2008年12月11日 周二18時07分14秒)的24個字元的字元串。
import time t = time.time() # 獲得時間戳 a = time.localtime(t) # 獲得當地時間的時間元組 b = time.gmtime(t) # 獲得格林威治時間的時間元組 print('time.asctime %s' %(time.asctime(a))) # 獲得時間的字元串 print('time.asctime %s' %(time.asctime(b))) # 獲得時間的字元串
time.strftime(srt_format[,tupletime])
接收時間元組,返回當地時間,第一個參數是一個字元串形式的格式化字元
import time t = time.time() # 獲得時間戳 a = time.localtime(t) # 獲得當地時間的時間元組 b = time.gmtime(t) # 獲得格林威治時間的時間元組 print('time.asctime %s' %(time.asctime(a))) # 獲得時間的字元串 print('time.asctime %s' %(time.asctime(b))) # 獲得時間的字元串 print('time.strftime %s' %(time.strftime('%Y-%m-%d %H:%M:%S',a))) # 獲得指定格式的等地時間
結果
time.asctime Thu Oct 26 08:49:50 2017 time.asctime Thu Oct 26 00:49:50 2017 time.strftime 2017-10-26 08:49:50
日期格式化符號
格式符號統一適用於 datetime() 模組,常用的有 %Y-%m-%d %H:%M:%S 以及 %c (標準時間)
格式符 說明 %a 星期的英文單詞的縮寫:如星期一, 則返回 Mon %A 星期的英文單詞的全拼:如星期一,返回 Monday %b 月份的英文單詞的縮寫:如一月, 則返回 Jan %B 月份的引文單詞的縮寫:如一月, 則返回 January %c 返回datetime的字元串表示,如03/08/15 23:01:26 %d 返回的是當前時間是當前月的第幾天 %f 微秒的表示: 範圍: [0,999999] %H 以24小時製表示當前小時 %I 以12小時製表示當前小時 %j 返回當天是當年的第幾天 範圍[001,366] %m 返回月份 範圍[0,12] %M 返回分鐘數 範圍 [0,59] %P 返回是上午還是下午–AM or PM %S 返回十進位的秒數 範圍 [0,61] %U 返回當周是當年的第幾周 以周日為第一天 %W 返回當周是當年的第幾周 以周一為第一天 %w 當天在當周的天數,範圍為[0, 6],6表示星期天 %x 日期的字元串表示 :03/08/15 %X 時間的字元串表示 :23:22:08 %y 兩個數字表示的年份 15 %Y 四個數字表示的年份 2015 %z 與utc時間的間隔 (如果是本地時間,返回空字元串) %Z 時區名稱(如果是本地時間,返回空字元串)
time.sleep(secs) 最為常用
休眠,時間暫停指定的秒數
import time print('當前時間 %s' %(time.ctime())) time.sleep(3) print('當前時間 %s' %(time.ctime()))