1. 程式人生 > >python(29)----時間模組

python(29)----時間模組

time模組

1. 三種時間表現形式

  • 時間戳(timestamp)
  • 格式化的時間字串
  • 元祖/結構化時間(struct_time)

2. 時間戳(timestamp)

通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量
執行type(time.time()),得到的結果為時間戳,返回的型別為float型別

#舉例:

import time
print(time.time())
print(type(time.time()))

#執行結果
1545055247.5282352
<class 'float'>

 

3.元祖/結構化時間(struct_time)


struct_time元祖共有9個元素(年、月、日、時、分、秒、一年中第幾周、一年中第幾天、夏令時)

#舉例1:

import time
print(time.localtime())
t = time.localtime()
print(t.tm_year)
print(t.tm_wday)

#執行結果
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=17, tm_hour=22, tm_min=6, tm_sec=23, tm_wday=0, tm_yday=351, tm_isdst=0)
2018
0

 

#
舉例2: import time print(time.gmtime()) #執行結果 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=17, tm_hour=14, tm_min=8, tm_sec=35, tm_wday=0, tm_yday=351, tm_isdst=0)

 


區別:

  • time.localtime() #當地時間(東八區時間)
  • time.gmtime() #UTC時間

4. 各類時間表達式之間的轉換

 

#結構化時間==>時間戳

import time
print(time.mktime(time.localtime())) #執行結果 1545102289.0

 

#將結構化時間==>字串時間

import time
print(time.strftime('%Y-%m-%d %X', time.localtime()))

#執行結果
2018-12-18 11:07:35

 

#將字串時間==>結構化時間

import time
print(time.strptime('2018:12:18:11:10:30','%Y:%m:%d:%X'))

#執行結果
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=11, tm_min=10, tm_sec=30, tm_wday=1, tm_yday=352, tm_isdst=-1)

 

#時間戳==>結構化時間

import time
print(time.localtime(time.time()))
print(time.gmtime(time.time()))

#執行結果
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=11, tm_min=19, tm_sec=46, tm_wday=1, tm_yday=352, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=3, tm_min=19, tm_sec=46, tm_wday=1, tm_yday=352, tm_isdst=0)

 


#時間戳==>字串時間

import time
print(time.ctime())

#執行結果
Tue Dec 18 11:23:37 2018

 

#結構化時間==>字串時間

import time
print(time.asctime())

#執行結果
Tue Dec 18 11:28:08 2018

 


5. 其他時間模組

time.sleep()

#執行緒推遲指定時間執行,單位為秒

 

time.clock() 

#unix系統,返回的是‘程序時間’
#windows系統,第一次呼叫返回的是程序執行的實際時間,第二次之後的呼叫時自第一次呼叫以後到現在的執行時間,即兩次時間差。

 

import datetime
print(datetime.datetime.now())

#執行結果
2018-12-18 11:48:49.325871