time模塊的使用

 

import time

1、方法彙總:

  • time.sleep():定時函數
  • time.time(): 時間戳/牆上時間
  • time.clock():CPU時間
  • time.local() / gmtime(): 把時間戳轉換成時間元組結構(gmtime差localtime八個小時)
  • time.mktime(): 把時間元組轉換成時間戳 
  • time.strftime():把時間元組轉換爲完成時間字符串格式
  • time.strptime():與strftime的用途相反

timestamp(時間戳):指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至如今的總秒數函數

struct_time(時間元組):能夠使用localtime和gmtime將時間戳轉換爲時間元組,注意:localtime和structtime用法類似,但gmtime()方法是將一個時間戳轉換爲UTC時區(0時區)的struct_time工具

format_string(字符串格式):能夠將時間元組轉換成時間字符串格式post

 

2、類型轉換和實戰

一、time.time()和time.clock()的區別:spa

time.time()是統計的wall time(即牆上時鐘),也就是系統時鐘的時間戳(1970紀元後通過的浮點秒數)。因此兩次調用的時間差即爲系統通過的總時間。
time.clock()是統計cpu時間的工具,這在統計某一程序或函數的執行速度最爲合適。兩次調用time.clock()函數的差值即爲程序運行的cpu時間。code

import time
def procedure():
    a = 0
    for i in range(10000):
        a += 1

t0 = time.time()
t_0 = time.clock()
procedure()
time.sleep(2)
t1 = time.time()
t_1 = time.clock()
print('wall time is %f'%(t1-t0))
print('CPU time is %f'%(t_1-t_0))

打印結果:orm

wall time is 2.000038
CPU time is 1.999886

二、各種型轉換

import time
# 獲取時間戳
timestamp = time.time()
print(timestamp)

# localtime和gmtime用法類似,將時間戳轉換成時間元組。
# 注意:gmtime()方法是將一個時間戳轉換爲UTC時區(0時區)的struct_time。
# localtime與gmtime相差8個小時(localtime比gmtime多8小時)
localtime = time.localtime(timestamp)
print(localtime)
gmtime = time.gmtime(timestamp)
print(gmtime)
# 將時間元組轉換成時間戳
mktime = time.mktime(localtime)
print(mktime)

# 將時間元組轉換成時間字符格式('Wed Mar 27 10:58:39 201')
asctime_1 = time.asctime(localtime)
asctime_2 = time.asctime(gmtime)
print(asctime_1)
print(asctime_2)
# 將時間戳直接變成時間字符格式(和local一致)
ctime = time.ctime(timestamp)
print(ctime)

# 將時間元組轉換成指定時間字符格式
strftime = time.strftime('%Y-%m-%d %X',localtime)
print(strftime)
strptime = time.strptime(strftime,'%Y-%m-%d %X')
print(strptime)

打印結果:blog

1553659424.696932
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=12, tm_min=3, tm_sec=44, tm_wday=2, tm_yday=86, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=4, tm_min=3, tm_sec=44, tm_wday=2, tm_yday=86, tm_isdst=0)
1553659424.0
Wed Mar 27 12:03:44 2019
Wed Mar 27 04:03:44 2019
Wed Mar 27 12:03:44 2019
2019-03-27 12:03:44
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=27, tm_hour=12, tm_min=3, tm_sec=44, tm_wday=2, tm_yday=86, tm_isdst=-1)
格式 含義 備註
%a 本地(locale)簡化星期名稱  
%A 本地完整星期名稱  
%b 本地簡化月份名稱  
%B 本地完整月份名稱  
%c 本地相應的日期和時間表示  
%d 一個月中的第幾天(01 - 31)  
%H 一天中的第幾個小時(24小時制,00 - 23)  
%I 第幾個小時(12小時制,01 - 12)  
%j 一年中的第幾天(001 - 366)  
%m 月份(01 - 12)  
%M 分鐘數(00 - 59)  
%p 本地am或者pm的相應符
%S 秒(01 - 61)
%U 一年中的星期數。(00 - 53星期天是一個星期的開始。)第一個星期天以前的全部天數都放在第0周。
%w 一個星期中的第幾天(0 - 6,0是星期天)
%W 和%U基本相同,不一樣的是%W以星期一爲一個星期的開始。  
%x 本地相應日期  
%X 本地相應時間  
%y 去掉世紀的年份(00 - 99)  
%Y 完整的年份  
%Z 時區的名字(若是不存在爲空字符)  
%% '%'字符  

 三、實際例子

# 獲取當前時間和日期
now = time.strftime('%Y-%m-%d %X',time.localtime())
print(now)

打印結果:字符串

2019-03-27 12:13:45

 end~string

相關文章
相關標籤/搜索