time 模塊: 與時間相關的模塊ui
時間分爲三類:時間戳,結構化,格式化的字符串時間。spa
1)、時間戳: 從1970-1-01 00:00:00開始到如今的秒數code
# -*-coding:utf-8 -*- import time print(time.time()) a = time.time() print(a) 結果: 1540727377.488626 1540727377.488626
2)、結構化: 返回的是一個對象,其中包含一個元組,裏面是每一個時間的值對象
(1):localtime blog
a = time.time() print(a) b = time.localtime(a) print(b) 結果: 1540727966.660054 time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=19, tm_min=59, tm_sec=26, tm_wday=6, tm_yday=301, tm_isdst=0)
a = time.time() print(a) b = time.localtime(a) print(b.tm_year) #單獨獲取某個時間——值(屬性) 結果: 1540728162.9470487 2018
(2): gmtime 世家統一時間 比北京時間晚8小時。utf-8
a = time.time() print(a) l = time.localtime(a) print(l) b = time.gmtime(a) print(b) 結果: 1540728352.4624097 time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=20, tm_min=5, tm_sec=52, tm_wday=6, tm_yday=301, tm_isdst=0) time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=12, tm_min=5, tm_sec=52, tm_wday=6, tm_yday=301, tm_isdst=0)
3)、格式化的字符串時間:字符串
(1):strftimeast
a = time.time() print(a) l = time.localtime(a) b = time.strftime('%Y %m %d',l)
print(b) b1 = time.strftime('%Y %m %d %H:%M:%S',l) print(b1) 結果: 1540729599.7453313
2018 10 28 2018 10 28 20:26:39
# 格式化時間 不能直接對 時間戳進行class
a = time.time() print(a) b1 = time.strftime('%Y %m %d %H:%M:%S',a) print(b1) 結果: Traceback (most recent call last): 1540729991.8619258 File "F:/練習/草稿.py", line 12, in <module> b1 = time.strftime('%Y %m %d %H:%M:%S',a) TypeError: Tuple or struct_time argument required
三種格式之間的相互轉換:import
(1)時間戳轉爲格式化:
print(time.localtime(a))
(2)結構化轉字符串:
a = time.time() b1 = time.localtime(a) b = time.strftime('%Y %m %d %H:%M:%S',b1)
(3)字符串轉結構化:
a = time.time() b1 = time.localtime(a) a = time.time() b1 = time.localtime(a) b = time.strftime('%Y %m %d %H:%M:%S',b1) print(b) l = time.strptime(b, '%Y %m %d %H:%M:%S') #---- print(l) 結果: 2018 10 28 20:50:10 time.strtime.asctime(time.localtime())0, tm_mday=28, tm_hour=20, tm_min=50, tm_sec=10, tm_wday=6, tm_yday=301, tm_isdst=-1)
(4):結構化轉時間戳
a = time.time() b1 = time.localtime(a) a = time.time() b1 = time.localtime(a) b = time.strftime('%Y %m %d %H:%M:%S',b1) l = time.strptime(b, '%Y %m %d %H:%M:%S') print(l) h = time.mktime(l) print(h) 結果: time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=20, tm_min=53, tm_sec=21, tm_wday=6, tm_yday=301, tm_isdst=-1) 1540731201.0
總結:
轉換方式以下圖:
格林威治時間:
print(time.asctime(time.localtime(60*60*24))) print(time.ctime(60*60*24))
結果:
Fri Jan 2 08:00:00 1970
Fri Jan 2 08:00:00 1970
datetime: #這是一個對 時間 進行處理的包
#獲取當前詳細時間: print(datetime.datetime.now()) 結果 2018-10-28 21:15:31.214708
#獲取當前 年 時間: print(datetime.datetime.now().year) 結果: 2018
#替換時間某一屬性的值: t = datetime.datetime.now() print(t) t1 = t.replace(year=2020) print(t1) 結果: 2018-10-28 21:19:34.595849 2020-10-28 21:19:34.595849
#時間差——: t = datetime.timedelta(weeks=1) #獲取一週時間 print(t) t1 = datetime.datetime.now() #獲取當前時間 print(t1) print(t+t1) # 7天后的時間 結果: 7 days, 0:00:00 2018-10-28 21:22:08.941522 2018-11-04 21:22:08.941522