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()))